home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 / Aminet - June 1993 [Walnut Creek].iso / usenet / sources / volume91 / utilitys / backdrop / part01 next >
Encoding:
Internet Message Format  |  1991-04-16  |  60.6 KB

  1. Path: news.larc.nasa.gov!amiga-request
  2. From: amiga-request@ab20.larc.nasa.gov (Amiga Sources/Binaries Moderator)
  3. Subject: v91i086: BackDrop 1.2 - force Workbench 1.3 to run in a normal window, Part01/02
  4. Reply-To: "John Davis, chem dept, Uni of Canty, NZ" <CHEM194@cantva.canterbury.ac.nz>
  5. Newsgroups: comp.sources.amiga
  6. Message-ID: <comp.sources.amiga:v91i086@ab20.larc.nasa.gov>
  7. Date: 16 Apr 91 19:12:44 GMT
  8. Approved: tadguy@uunet.UU.NET (Tad Guy)
  9. X-Mail-Submissions-To: amiga@uunet.uu.net
  10. X-Post-Discussions-To: comp.sys.amiga.misc
  11.  
  12. Submitted-by: "John Davis, chem dept, Uni of Canty, NZ" <CHEM194@cantva.canterbury.ac.nz>
  13. Posting-number: Volume 91, Issue 086
  14. Archive-name: utilities/backdrop-1.2/part01
  15.  
  16. [ includes uuencoded executables  ...tad ]
  17.  
  18. BackDrop12 and Wb102
  19.  
  20. This pair of programs allow you to force Workbench 1.3 to run in
  21. a normal window (as opposed to the backdrop window it usually uses),
  22. and then put up a patterned backdrop window behind it (and all other
  23. windows), similar to the 'desktop pattern' on the Mac and Windows/3.
  24.  
  25. Having patterned backdrops (as opposed to the blank screen normally 
  26. used) not only looks nicer, but it can make it easier to deal with
  27. lots of windows (gives them something to contrast against).
  28.  
  29. wb102 is a minimal hack in assembler to force workbench into a 
  30. window - source for Hisoft DevPac v2 assembler is included.
  31.  
  32. backdrop12 allows you to setup a backdrop pattern window, features are
  33.    - user specifiable fill pattern and colour
  34.    - ability to change patterns on the fly
  35.    - support for NTSC/PAL/overscan etc
  36. modula-2 source (for TDI 3.01) is included.
  37.  
  38. #!/bin/sh
  39. # This is a shell archive.  Remove anything before this line, then unpack
  40. # it by saving it into a file and typing "sh file".  To overwrite existing
  41. # files, type "sh file -c".  You can also feed this as standard input via
  42. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  43. # will see the following message at the end:
  44. #        "End of archive 1 (of 2)."
  45. # Contents:  backdrop.doc backdrop.mod backdrop.uu block.pattern
  46. #   hatch.pattern startup-sequence.example wb102.doc wb102.s wb102.uu
  47. #   wmove.uu
  48. # Wrapped by tadguy@ab20 on Tue Apr 16 15:12:42 1991
  49. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  50. if test -f 'backdrop.doc' -a "${1}" != "-c" ; then 
  51.   echo shar: Will not clobber existing file \"'backdrop.doc'\"
  52. else
  53. echo shar: Extracting \"'backdrop.doc'\" \(2817 characters\)
  54. sed "s/^X//" >'backdrop.doc' <<'END_OF_FILE'
  55. XBackDrop v1.2
  56. X-------------
  57. XBy J Davis 91/04/14
  58. X
  59. X
  60. XWhat's it do?
  61. X-------------
  62. X
  63. XHave  you  ever  wished  you could have patterned backdrops behind all the
  64. Xwindows on workbench (like the Mac or Windows3)?  Well this program is the
  65. Xanswer,  it  lets  you  create  a  backdrop window with colours and a fill
  66. Xpattern of your own chosing.
  67. X
  68. XWhat do you need?
  69. X-----------------
  70. X
  71. XTo be able to actually see our backdrop it's necessary to get workbench to
  72. Xload  into  a  normal (sizable, draggable) window.  Under KS1.3, workbench
  73. Xusually  opens  as  a Backdrop, borderless window, which would obscure our
  74. Xbackdrop.
  75. XTo  get  around this you use WB (a separate utility by myself, included in
  76. Xthis  archive).   You  may  also  wish to use the provided WMove and WSize
  77. Xutilities  in conjunction in your startup-sequence to automatically shrink
  78. Xdown the workbench window (see included example startup-sequence)
  79. X
  80. XUsage
  81. X-----
  82. Xsyntax:
  83. X   backdrop [fg bg] [patternfile]
  84. X            
  85. XIf  you  run  backdrop  with  no  parameters, it will install the backdrop
  86. Xwindow using colours 0 and 2, and the default 'checkerboard' pattern
  87. XYou  may  optionally  supply either the two colours to use ( these colours
  88. Xare in the range 0 to 3 )
  89. X
  90. X     e.g. backdrop 1 3
  91. X
  92. Xor the name of a file containing a custom fill pattern
  93. X
  94. X     e.g. backdrop s:hatch.pattern
  95. X
  96. Xor you may combine both options
  97. X
  98. X     e.g. backdrop 1 0 s:block.pattern
  99. X
  100. Xtyping 'backdrop ?' will give you a brief summary of the command syntax.
  101. XThe format of the pattern file is 16 words, represented in binary with one
  102. Xword per line
  103. X
  104. X   e.g. 1111111111111111
  105. X        0000000010000000 
  106. X        0000000010000000
  107. X        0000000010000000
  108. X        1111111111111111
  109. X        1000000000000000
  110. X        1000000000000000
  111. X        1000000000000000
  112. X        1111111111111111
  113. X        0000000010000000
  114. X        0000000010000000
  115. X        0000000010000000
  116. X        1111111111111111
  117. X        1000000000000000
  118. X        1000000000000000
  119. X        1000000000000000
  120. X(see included example pattern files)
  121. X
  122. XOnce you have installed backdrop, you may modify the options on the fly by
  123. Xre-running  backdrop  (this  won't open a new backdrop window, just update
  124. Xthe existing one).
  125. X
  126. XImplementation Details
  127. X----------------------
  128. X
  129. Xthis program simply opens it's own backdrop/borderless window on workbench
  130. Xto   hold  the  backdrop  pattern.   Memory  usage  is  about  21k  for  a
  131. Xnon-interlaced  PAL  screen,  and  42k for an interlaced display (due to a
  132. Xsmartrefresh  window being used to minimise processor overhead and refresh
  133. Xtimes).
  134. X
  135. XScreen size is detected on the fly, so it should work with over-scan etc.
  136. X
  137. XIf you have any problems with the program , I can be contacted at the
  138. Xfollowing addresses :
  139. X
  140. Xinternet  : chem194@canterbury.ac.nz
  141. Xbbs email : AmigaINFO BBS, Christchurch NZ
  142. X            (+64) (03) 3371-531
  143. X
  144. END_OF_FILE
  145. if test 2817 -ne `wc -c <'backdrop.doc'`; then
  146.     echo shar: \"'backdrop.doc'\" unpacked with wrong size!
  147. fi
  148. # end of 'backdrop.doc'
  149. fi
  150. if test -f 'backdrop.mod' -a "${1}" != "-c" ; then 
  151.   echo shar: Will not clobber existing file \"'backdrop.mod'\"
  152. else
  153. echo shar: Extracting \"'backdrop.mod'\" \(11615 characters\)
  154. sed "s/^X//" >'backdrop.mod' <<'END_OF_FILE'
  155. XMODULE backdrop;
  156. X
  157. X(*
  158. X
  159. X   simple program to put up a patterned backdrop window on workbench, 
  160. X   for use with wb1.02 (wb1.02 needed to get wb1.3 into own window)
  161. X   
  162. X   v1.0 - initial version , hard-coded for PAL screen size, quick and dirty
  163. X   v1.1 - now picks up screen size on the fly (works with overscan,NTSC etc)
  164. X          can change colours on the fly (finds old window and refreshes)
  165. X   v1.2 - user definable fill patterns added
  166. X   
  167. X*)
  168. X
  169. XIMPORT IntuitionBase;
  170. XIMPORT Intuition;
  171. XFROM Memory           IMPORT  MemReqSet,MemPublic,AllocMem;
  172. XFROM Windows          IMPORT  OpenWindow;          
  173. XFROM Libraries        IMPORT  OpenLibrary,CloseLibrary;
  174. XFROM SYSTEM           IMPORT  NULL,WORD,ADDRESS,ADR,BYTE;
  175. XFROM InOut            IMPORT  WriteString,WriteLn,WriteCard,OpenInputFile,Done,CloseInput,ReadString;
  176. XFROM GraphicsLibrary  IMPORT  GraphicsBase,GraphicsName,DrawingModeSet,DrawingModes;
  177. XFROM Pens             IMPORT  RectFill,SetAPen,SetBPen,SetDrMd;
  178. XFROM PenUtils         IMPORT  SetAfPat,SetDrPt;
  179. XFROM CommandLine      IMPORT  CLStrings,GetCL;
  180. XFROM Conversions      IMPORT  ConvertFromString;
  181. XFROM Strings          IMPORT  Compare,CompareResults;
  182. X
  183. XCONST
  184. X
  185. Xscreenname  = "Workbench Screen";
  186. Xwindowname  = "BackDrop";
  187. X
  188. X(* turn this on for verbose debugging info *)
  189. Xdebug       = FALSE;
  190. X
  191. XTYPE
  192. X
  193. Xstring      = ARRAY [0..80] OF CHAR;
  194. Xstrptr      = POINTER TO string;
  195. X
  196. XVAR
  197. X
  198. Xnw          : Intuition.NewWindow;
  199. Xwd          : Intuition.WindowPtr;
  200. Xpat         : ARRAY [0..15] OF WORD;
  201. X
  202. Xscreenptr   : Intuition.ScreenPtr;
  203. X
  204. Xfound       : BOOLEAN;
  205. X
  206. Xwidth       : CARDINAL;
  207. Xheight      : CARDINAL;
  208. X
  209. Xargc        : CARDINAL;
  210. Xargv        : ARRAY [0..2] OF CLStrings;
  211. X
  212. Xpatname     : CLStrings;
  213. Xusepattern  : BOOLEAN;
  214. X
  215. Xibaseptr    : POINTER TO IntuitionBase.IntuitionBase;
  216. X
  217. Xfgcol,bgcol : CARDINAL;
  218. Xt           : LONGCARD;
  219. Xdone        : BOOLEAN;
  220. X
  221. Xtitleptr    : strptr;
  222. X
  223. X(* -------------------------- usage ----------------------- *)
  224. X
  225. XPROCEDURE usage;
  226. XBEGIN
  227. XWriteString("Backdrop v1.2 by J Davis 04/91");
  228. XWriteLn;
  229. XWriteString("Usage is : backdrop [fg bg] [pat]");
  230. XWriteLn;
  231. XWriteString("      fg and bg specify the colours to use for the pattern");
  232. XWriteLn;
  233. XWriteString("      if omitted 0 and 2 are used");
  234. XWriteLn;
  235. XWriteLn;
  236. XWriteString("      pat is the name of the file containing the backdrop pattern");
  237. XWriteLn;
  238. XWriteString("      if omitted a single pixel checkerboard is used");
  239. XWriteLn;
  240. XWriteLn;
  241. XEND usage;
  242. X
  243. X(* ------------------------- strcmp ---------------------- *)
  244. X
  245. XPROCEDURE strcmp(sp1 : strptr; s2 : ARRAY OF CHAR):BOOLEAN;
  246. XBEGIN
  247. XIF debug THEN
  248. X  WriteString("checking : ");
  249. X  WriteString(sp1^);
  250. X  WriteString(" against : ");
  251. X  WriteString(s2);
  252. X  WriteString(" ");
  253. XEND;
  254. X  IF Compare(sp1^,s2)=Equal THEN
  255. X     IF debug THEN
  256. X        WriteString("equal");
  257. X        WriteLn;
  258. X     END;
  259. X     RETURN TRUE;
  260. X  ELSE
  261. X     IF debug THEN
  262. X        WriteString("not equal");
  263. X        WriteLn;
  264. X     END;
  265. X     RETURN FALSE;
  266. X  END;
  267. XEND strcmp;
  268. X
  269. X(* ------------------------- getpattern --------------------- *)
  270. X
  271. XPROCEDURE getpattern(name : CLStrings ; window : Intuition.WindowPtr ; VAR pattern : ARRAY OF WORD): BOOLEAN;
  272. X(* read in a pattern definition from file 'name'
  273. X   and set it as the windows fill pattern
  274. X   if everything is ok returns TRUE
  275. X
  276. X   expects the file to hold 16 lines of binary words, defining the fill pattern
  277. X   e.g.  1111111111111111
  278. X         1000000010000000
  279. X         1000000010000000
  280. X         1111111111111111 etc
  281. X         
  282. X   NB : pattern must still be accessible when fill is called as SetAfPat
  283. X        only sets a _pointer_ to the pattern in rastport.areaptrn
  284. X        
  285. X*)
  286. XVAR
  287. X index  : CARDINAL;
  288. X s      : string;
  289. X ok     : BOOLEAN;
  290. X convok : BOOLEAN;
  291. X temp   : LONGCARD;
  292. XBEGIN
  293. X ok:=TRUE;
  294. X IF debug THEN
  295. X    WriteString("trying to open pattern file : ");
  296. X    WriteString(name);
  297. X    WriteLn;
  298. X END;
  299. X OpenInputFile(name);
  300. X IF Done THEN
  301. X   (* file opened ok - read in lines of data *)
  302. X   IF debug THEN
  303. X      WriteString("file opened ok");
  304. X      WriteLn;
  305. X   END;
  306. X   index:=0;
  307. X   REPEAT
  308. X      ReadString(s);
  309. X      IF Done THEN
  310. X         (* read a line ok - convert from binary *)
  311. X         IF debug THEN
  312. X            WriteString("read string : ");
  313. X            WriteString(s);
  314. X            WriteLn;
  315. X         END;
  316. X         ConvertFromString(s,2,FALSE,65535,temp,convok);
  317. X         IF convok THEN
  318. X            (* converted ok, put it in our pattern table *)
  319. X            IF debug THEN
  320. X               WriteString("string converted to number : ");
  321. X               WriteCard(SHORT(temp),8);
  322. X               WriteLn;
  323. X            END;
  324. X            pattern[index]:=WORD(SHORT(temp));
  325. X            index:=index+1;
  326. X         ELSE
  327. X            (* didn't convert *)
  328. X            ok:=FALSE;
  329. X            IF debug THEN
  330. X               WriteString("conversion failed");
  331. X               WriteLn;
  332. X            END;
  333. X         END;
  334. X      ELSE
  335. X         (* couldn't read string - end of file? *)
  336. X         IF debug THEN
  337. X            WriteString("counldn't read string - end of file?");
  338. X            WriteLn;
  339. X         END;
  340. X         ok:=FALSE;
  341. X      END;
  342. X   UNTIL (index=16) OR (NOT ok);
  343. X   CloseInput;
  344. X ELSE
  345. X   (* couldn't open named file *)
  346. X   WriteString("couldn't open pattern file : ");
  347. X   WriteString(name);
  348. X   WriteLn;
  349. X   ok:=FALSE;
  350. X END;
  351. X
  352. XIF ok THEN
  353. X   (* everything went ok - set fill pattern *)
  354. X   IF debug THEN
  355. X      WriteString("everything went ok - setting fillpattern");
  356. X      WriteLn;
  357. X      WriteString("pattern = ");
  358. X      WriteLn;
  359. X      FOR index:=0 TO 15 DO
  360. X          WriteString("        ");
  361. X          WriteCard(CARDINAL(pattern[index]),8);
  362. X          WriteLn;
  363. X      END;
  364. X   END;
  365. X   SetAfPat(wd^.RPort,pattern,4);
  366. X   RETURN TRUE;
  367. XELSE
  368. X   IF debug THEN
  369. X      WriteString("not ok - getpattern exiting");
  370. X      WriteLn;
  371. X   END;
  372. X   RETURN FALSE;
  373. XEND;
  374. X
  375. XEND getpattern;
  376. X
  377. X(* ------------------------- main -------------------------- *)
  378. X
  379. XBEGIN
  380. X
  381. Xusepattern:=FALSE;
  382. X
  383. XIF NOT GetCL(argc,argv) THEN 
  384. X   (* more than 3 args *)
  385. X   usage;
  386. X   HALT;
  387. XEND;
  388. X
  389. XIF (argc=1) AND (argv[0][0]='?') THEN
  390. X   usage;
  391. X   HALT;
  392. XEND;
  393. X
  394. XIF (argc=0) OR (argc=1) THEN
  395. X   (* use default colours *)
  396. X   IF debug THEN
  397. X      WriteString("no colour specified - using default colours");
  398. X      WriteLn;
  399. X   END;
  400. X   fgcol := 2;
  401. X   bgcol := 0;
  402. XEND;
  403. X
  404. XIF (argc=2) OR (argc=3) THEN
  405. X   (* user supplied colour choices - get them *)
  406. X   IF debug THEN
  407. X      WriteString("converting colour choices");
  408. X      WriteLn;
  409. X   END;
  410. X   
  411. X   ConvertFromString(argv[0],10,FALSE,3,t,done);
  412. X   IF NOT done THEN
  413. X      usage;
  414. X      HALT;
  415. X   ELSE
  416. X      fgcol:=SHORT(t);
  417. X   END;
  418. X      
  419. X   ConvertFromString(argv[1],10,FALSE,3,t,done);
  420. X   IF NOT done THEN
  421. X      usage;
  422. X      HALT;
  423. X   ELSE
  424. X      bgcol:=SHORT(t);
  425. X   END;
  426. XEND;
  427. X
  428. XIF argc=1 THEN
  429. X   (* user specified ONLY pattern name - get it *)
  430. X   patname:=argv[0];
  431. X   usepattern:=TRUE;
  432. XEND;
  433. X
  434. XIF argc=3 THEN
  435. X   (* user specified colours AND pattern name - get pattern name *)
  436. X   patname:=argv[2];
  437. X   usepattern:=TRUE;
  438. XEND;
  439. X
  440. XIntuition.IntuitionBase:=OpenLibrary(Intuition.IntuitionName,0);
  441. XGraphicsBase:=OpenLibrary(GraphicsName,0);
  442. X
  443. Xibaseptr:=Intuition.IntuitionBase;
  444. Xscreenptr:=ibaseptr^.FirstScreen;
  445. Xfound:=FALSE;
  446. Xwidth:=640; (* default width *)
  447. Xheight:=256; (* default height *)
  448. X
  449. XIF debug THEN
  450. X   WriteString("searching screens for workbench screen");
  451. X   WriteLn;
  452. XEND;
  453. X
  454. XREPEAT
  455. X  (* scan for workbench screen and copy it's width and height *)
  456. X  IF strcmp(screenptr^.Title,screenname) THEN 
  457. X     (* this is the workbench screen *)
  458. X     width:=screenptr^.Width;
  459. X     height:=screenptr^.Height;
  460. X     found:=TRUE;
  461. X     IF debug THEN
  462. X        WriteString("found workbench screen. title : ");
  463. X        titleptr:=screenptr^.Title;
  464. X        WriteString(titleptr^);
  465. X        WriteLn;
  466. X        WriteString(" width : ");
  467. X        WriteCard(width,5);
  468. X        WriteString(" height : ");
  469. X        WriteCard(height,5);
  470. X        WriteLn;
  471. X     END;
  472. X  ELSE
  473. X     screenptr:=screenptr^.NextScreen;
  474. X  END;
  475. XUNTIL found OR (screenptr=NULL);
  476. X
  477. XIF found THEN
  478. X   (* located workbench screen ok, now scan window list to see if we're 
  479. X      already installed
  480. X   *)
  481. X   IF debug THEN
  482. X      WriteString("located WorkBench Screen ok");
  483. X      WriteLn;
  484. X   END;
  485. X  
  486. X   IF debug THEN
  487. X      WriteString("searching windows for existing BackDrop window");
  488. X      WriteLn;
  489. X   END;
  490. X   
  491. X   wd:=screenptr^.FirstWindow;
  492. X   found:=FALSE;
  493. X   REPEAT
  494. X     (* scan window list for existing window with correct title *)
  495. X     IF strcmp(wd^.Title,windowname) THEN
  496. X        (* found existing window, so update it instead of opening a new one *)
  497. X        found:=TRUE;
  498. X        WriteString("modifying existing backdrop window");
  499. X        WriteLn;
  500. X     ELSE
  501. X        wd:=wd^.NextWindow;
  502. X     END;
  503. X   UNTIL found OR (wd=NULL);
  504. X   
  505. X   IF NOT found THEN
  506. X      (* need to open a new window *)
  507. X
  508. X      WriteString("creating new backdrop window");
  509. X      WriteLn;
  510. X      
  511. X      titleptr:=AllocMem(10,MemReqSet{MemPublic});
  512. X      titleptr^:=windowname;
  513. X
  514. X      WITH nw DO                       (* setup definition for our backdrop window *)
  515. X           LeftEdge    := 0;
  516. X           TopEdge     := 0;
  517. X           Width       := width;
  518. X           Height      := height;
  519. X           DetailPen   := BYTE(1);
  520. X           BlockPen    := BYTE(1);
  521. X           IDCMPFlags  := Intuition.IDCMPFlagSet{};
  522. X           Flags       := Intuition.SmartRefresh + Intuition.WindowFlagSet{Intuition.BackDrop,Intuition.Borderless,Intuition.NoCareRefresh};
  523. X           FirstGadget := NULL;
  524. X           CheckMark   := NULL;
  525. X           Title       := titleptr;
  526. X           Screen      := NULL;
  527. X           BitMap      := NULL;
  528. X           MinWidth    := width;
  529. X           MinHeight   := height;
  530. X           MaxWidth    := width;
  531. X           MaxHeight   := height;
  532. X           Type        := Intuition.ScreenFlagSet{Intuition.WBenchScreen};
  533. X      END;
  534. X     
  535. X      wd:=OpenWindow(nw);             (* open the window *)
  536. X   END;
  537. X   
  538. X   IF wd=NULL THEN
  539. X      (* window wouldn't open - probably painted shut *)
  540. X      WriteString("error opening window");
  541. X      WriteLn;
  542. X   ELSE
  543. X      IF NOT usepattern THEN
  544. X         (* no pattern specified - use default 'stipple' pattern *)
  545. X         WriteString("using default fill pattern");
  546. X         WriteLn;
  547. X         pat[0] := WORD(05555H);                          (* setup fill pattern *)
  548. X         pat[1] := WORD(0AAAAH);
  549. X         SetAfPat(wd^.RPort,pat,1);
  550. X      ELSE
  551. X         (* user specified custom pattern *)
  552. X         WriteString("using custom pattern from file : ");
  553. X         WriteString(patname);
  554. X         WriteLn;
  555. X         IF NOT getpattern(patname,wd,pat) THEN
  556. X            IF debug THEN 
  557. X               WriteString("getpattern failed");
  558. X               WriteLn;
  559. X            END;
  560. X            WriteString("error in pattern definition file (or pattern file doesn't exist)");
  561. X            WriteLn;
  562. X            WriteString("will use default pattern instead");
  563. X            WriteLn;
  564. X            pat[0] := WORD(05555H);                          (* setup fill pattern *)
  565. X            pat[1] := WORD(0AAAAH);
  566. X            SetAfPat(wd^.RPort,pat,1);
  567. X         ELSE
  568. X            IF debug THEN 
  569. X               WriteString("getpattern ok");
  570. X               WriteLn;
  571. X            END;
  572. X         END; 
  573. X      END;
  574. X      SetAPen(wd^.RPort,fgcol); 
  575. X      SetBPen(wd^.RPort,bgcol);                        (* select the 2 colours to fill with *)
  576. X      IF debug THEN
  577. X         WriteString("filling backdrop window");
  578. X         WriteLn;
  579. X      END;
  580. X      RectFill(wd^.RPort,0,0,wd^.Width,wd^.Height);    (* fill our window *)
  581. X   END;
  582. XELSE
  583. X   IF debug THEN
  584. X      WriteString("can't find workbench's screen!");
  585. X      WriteLn;
  586. X   END;
  587. XEND;
  588. X
  589. XCloseLibrary(Intuition.IntuitionBase);
  590. XCloseLibrary(GraphicsBase);
  591. X
  592. XIF debug THEN
  593. X   WriteString("backdrop done");
  594. X   WriteLn;
  595. XEND;
  596. X
  597. XEND backdrop.
  598. END_OF_FILE
  599. if test 11615 -ne `wc -c <'backdrop.mod'`; then
  600.     echo shar: \"'backdrop.mod'\" unpacked with wrong size!
  601. fi
  602. # end of 'backdrop.mod'
  603. fi
  604. if test -f 'backdrop.uu' -a "${1}" != "-c" ; then 
  605.   echo shar: Will not clobber existing file \"'backdrop.uu'\"
  606. else
  607. echo shar: Extracting \"'backdrop.uu'\" \(14231 characters\)
  608. sed "s/^X//" >'backdrop.uu' <<'END_OF_FILE'
  609. Xbegin 666 backdrop
  610. XM```#\P`````````#``````````(```@O````W`````````/I```(+T[Y```80
  611. XMU"(`<`9.1TYU3E;_Z"H`>`G:A#U%__XJ#E"%+47_Z$#N__@M3?_T+5;_\$YHW
  612. XM+4C_[`QN``?__F<(#&X`"/_^9A0M;@`2__HJ+O_H4(4M1?_H3OH`0@QN``__K
  613. XM_F8,3F@M:``(__I.^@`N#&X`$/_^9@Q"KO_Z0J[_\$[Z`!H,;@`)__YE"DYHZ
  614. XM+5#_^D[Z``@M;@`*__I)^0```!@XKO_^0BP``BEN__H`!#EN__@`""EN__0`5
  615. XM"BEN__``#BEN_^P`$BEN__``%AE\``$`&BYN_^@@.0```!0O0``"/KP``"Q6;
  616. XM3FA9B$Y@3G-.7DYU2?D```!4*@PB17``+'@`!$ZN_=@J`"Q%.CD````8!D4!#
  617. XM]4C%(@5.KO]P($]!Z/^`D<"Q[0`$8@9R`W`&3D=.=4J?+T[__$YN+2\``CT78
  618. XM+2___$CF__PB42".+$E,WC__+U[__#Z>+UX``DYF+&___$YS2I\O3O_\3FXM&
  619. XM+P`"/1<M+__\2.;__")1((Y'^@`J+0L]/$ZY/3PG`#T\1OPDCBQ)3-X__R]>`
  620. XM__P^GB]>``).9BQO__Q.<R].__Q.;BTO``8]+P`$+2___$CF__P@7R)H`"0B&
  621. XMCBQ(3-X__R]>__P^GB]>``).9BQO__Q.<T;\)P`N'PP'`"=F!DZY```",@P'2
  622. XM`"9F!DZY```!,@P'`"5F!DZY```!9`P'``IF"'#X3KD````.#`<`"V8(</=.E
  623. XMN0````XP!T1`4D!.N0````Y*GU4`9@@"5_C_@U=.<U,`9@0^@4YS4P!F!D;\^
  624. XM(`!.<U,`9@1.<4YS4P!F"B`!3KD````.3G-.5@``2.=\`"(N``@D+@`,)@$HL
  625. XM`2H"2$1(1<+"Q,3&Q<C%2$'20D*%V8720]F%2$%"0D)#2$)(0]2#U(0M00`,O
  626. XM+4(`"$S?`#Y.7DYU3E8``$CG>``B+@`,)"X`"+2\``#__V(>0D."PF@..`%"X
  627. XM04A!@L(V`3($@L)(0S8!0D%(06`>0H,V`4A#0D%(03@\``_CB^.1LH)E!)*"T
  628. XM4D-1S/_R+4,`#"U!``A,WP`>3EY.=4Y6``!(Y_\`3.X`\``(2$0V!$A&O4-;`
  629. XMYS0$,#Q_\,1`9P`!#C8&QD!G``$&UD($0S_P8P``_&L``/YP#\A`",0`!,Q`=
  630. XM",8`!'0`/P,P!,#&2$`R!,+'-@1(1L;&T(,V!$A'QL=(0=)#0D-(0]$0V*
  631. XM!,;&TD-(04)#2$/1@S8$2$;&QM"#-@3&Q]*#T8(V!$A'R,="1$A$TH31@C8%V
  632. XMQL;2@]&"-@5(1L;&0D-(0]*#T8)(138%QL;2@]&"2$;,Q4A!TD9(04)&2$;1M
  633. XMADA'RL="14A%TH71@E"!T8(V'W@$>AD+`&<&4D0&0P`0%`#HND("Z*CHJ8*"R
  634. XM6P4+`&8,U(+3@=&`!$,`"F,D2D-K*$A``D``#X!#2$!*'V<$=A\'P$CN``,`=
  635. XM$$S?`/].7DYU5$]P`'(`8.IP!4ZY````!DY6``!(Y_\`3.X`\``(2$0R!`)!#
  636. XM?_!G``".2$8P!@)`?_!G``!PD$$&0#_P:P``>#(&N4%;YP)&``\(Q@`$`D0`\
  637. XM#PC$``1(1DA$<AYV`&$B)`-R%W8`819R">.KU8)K3@1``!!K```LUH/5@F!`S
  638. XMWH?=AKR$7,G_^`/#GH6=A%O)_^YJ#-Z%W80#@TI!7<G_X$YU5(]T`'8`2.X`5
  639. XM#``03-\`_TY>3G5P!4ZY````!GP`!H,```@`U89D"N*2XI,&0``0:^)R`#("_
  640. XM?@ONJNZK[KE"`8:!2$("0@`/A$!(0DH?9[9P'P'"8+!.5@``2.?@`'``(BX`Q
  641. XM"&=(-#Q!X$A!,`%F"DA!,`%R``1"`0!"00Q``/]B#.&(X9F``4(!!$(`@$I`8
  642. XM:PH$0@`0TH'10&KVZXCKF8`!0@%(0`)```^`0DA`2.X``P`(3-\`!TY>3G5.=
  643. XM=4Y6``!(Y^``("X`"..8)``"@`#___\"@O\```!F$G``<@!([@`#``A,WP`'L
  644. XM3EY.=>:*XHCBD@:".````"(`YHCFF0*!<````(""8-9.<4YQ3G$J`"/%````&
  645. XM!"H((\4`````*@\CQ0````P@+P`$*@`CQ0````@J.0````R:N0````A0A2/%_
  646. XM````4$GY```&OD?Y````5'H+%MQ7S?_\(_P```#R````%"QX``0B?`````!.Y
  647. XMKO[:*@`CQ0```!`C^0```!````!,*CP```'@*'D```!,*44`,BQX``1P!TZN/
  648. XM_JIP!4ZN_JIP!DZN_JI"IT*G0J<B>0```%`O"4*G*D^>_``DG<YA"BYY````6
  649. XM#'``3G5.^0``!M!D;W,N;&EB<F%R>0!.^0``!?)"N0```&).^0``!N).^0``6
  650. XM!LI"N0```&9.^0``!U1.5@``+PXB;@`(+'@`!$ZN_F(L7TY>3G5.5@``+PXH3
  651. XM;@`,*@PB12`N``@L>``$3J[]V"Q?*@`M10`23EY.=4Y6```O#B`N``PB+@`(A
  652. XM+'@`!$ZN_SHL7RH`+44`$$Y>3G5.^0``!MQ.5@``0KD```!R3EY.^0``!Y!.5
  653. XM5@``+PXH;@`(*@P@12QY````<DZN_S0L7RH`+44`#$Y>3G5.^0``!TY"N0``+
  654. XM`'9.^0``"@I.5O_P#&X``@`690P,;@`D`!9B!'H!8`)Z`"AN``@8A2AN``A*[
  655. XM%&<"8`1.^@'(>@`Z+@`6+RX`$"\%3KD```*T+I\J'SU%__9Z`#HN`!8O+@`0Z
  656. XM+P5.N0```K18CRU?__!";O_\*&X`#$*40F[_^CHN__JZ;@`<8A0Z+O_Z*&X`Q
  657. XM&$HT4`!G!E)N__I@XD(N__]*+@`49RHH;@`8#!0`*V8*/7P``?_\3OH`&"ANM
  658. XM`!@,%``M9@P]?``!__P=?``!__\Z+O_ZNF[__%+%1`4H;@`(&(4Z+O_\NF[_-
  659. XM^F0**&X`"$H49P)@!$[Z`/@Z+O_\*&X`&!@T4``,!`!A90H,!`!Z8@0"!`!?3
  660. XM'43_]0PN`##_]64:#"X`.?_U8A)Z`!HN__4$10`P/47_^$[Z`"X,+@!!__5E_
  661. XM'@PN`%K_]6(6>@`:+O_U!$4`009%``H]1?_X3OH`""AN``A"%"AN``A*%&<.A
  662. XM.B[_^+IN`!9D!'H!8`)Z`"AN``@8A2AN``A*%&=>*&X`#"H4NJ[_\&46*&X`@
  663. XM#"H4NJ[_\&8..B[_^+IN__9B!'H!8`)Z`"AN``@8A2AN``A*%&<H>@`Z+@`6,
  664. XM*&X`#"\4+P5.N0```FA8CWH`.B[_^-J?*&X`#"B%4F[__&``_O1*+O__9PXHR
  665. XM;@`,*A1$A2AN``PHA4Y>3G5.5O_^68\O/#NCUPI.N0``!:9)^0```/@HWRC?L
  666. XM/7P``__^.B[__E-%YT5)^0```.@O-%`$+S10`"\Y```!A"\Y```!@$ZY```$7
  667. XM5E"/.B[__N=%2?D```#H2?10`"C?*-]2;O_^#&X`$?_^9K9.7DYU3OD```>*S
  668. XM3E8``%F/>@`O!4ZY```%/DGY```!<"C?*-]9CWH!+P5.N0``!3Y)^0```7@H)
  669. XMWRC?68]Z"B\%3KD```4^2?D```&`*-\HWV$`_T)9CWH*+P5.N0``!3Y)^0``O
  670. XM`+`HWRC?68]Z9"\%3KD```4^2?D```"X*-\HWUF/*CP``"<0+P5.N0``!3Y)6
  671. XM^0```,`HWRC?+SD```#$+SD```#`+SD```#$+SD```#`3KD```,84(])^0``R
  672. XM`,@HWRC?+SD```#,+SD```#(+SD```#,+SD```#(3KD```,84(])^0```-`H9
  673. XMWRC?+SD```#4+SD```#0+SD```#4+SD```#03KD```,84(])^0```-@HWRC?W
  674. XM+SD```#<+SD```#8+SD```#<+SD```#83KD```,84(])^0```.`HWRC?+SD`A
  675. XM``#D+SD```#@+SD```#D+SD```#@3KD```,84(])^0```.@HWRC?+SD```#L-
  676. XM+SD```#H+SD```#L+SD```#H3KD```,84(])^0```/`HWRC?(_Q!(```````U
  677. XM>B/\.Z/7"@```)(C_$+(``````!^(_PZ`Q)O````EB/\1AQ``````((C_#A1O
  678. XMMQ<```":(_Q,OKP@````AB/\-J?%K````)XC_%H.&\H```"*(_PU!C>]````"
  679. XMHB/\=)W%K@```(XC_#-6OY4```"F0KD```"J3EY.^0``#Z).5@``+PXB+@`(W
  680. XM+'D```!V3J[_W"Q?3EY.=4Y6```O#BQY````=DZN_\HL7RH`+44`"$Y>3G5.9
  681. XM5@``+PXL>0```'9.KO]\+%\J`"U%``A.7DYU3E8``"\.(BX`""QY````=DZN3
  682. XM_R@L7RH`2H56Q40%'44`#$Y>3G5.5@``+PXH;@`,*@PB!20N``@L>0```'9./
  683. XMKO_B+%\J`"U%`!).7DYU3E8``"\.+'D```!V3J[_Q"Q?*@`M10`(3EY.=4Y6T
  684. XM```O#B(N`!`D+@`,)BX`""QY````=DZN_]8L7RH`+44`%$Y>3G5.5@``+PXBP
  685. XM+@`0)"X`#"8N``@L>0```'9.KO^^+%\J`"U%`!1.7DYU3E8``"\.(BX`$"0N)
  686. XM``PF+@`(+'D```!V3J[_T"Q?*@`M10`43EY.=4Y6__PH;@`,2JX`"&8*.7S_=
  687. XM_P`&3OH`=BBN``@O#%6/+RX`"$ZY```,;EB/&A\H7TH%9PA"+``$3OH`3B\,.
  688. XM68\O+@`(0J=Z`2\%3KD```T`3^\`#"H?*%\M1?_\+PQ9CR\N``A"IWK_+P5.L
  689. XMN0``#0!/[P`,*A\H7RE%``A*K``(5\5$!1E%``1";``&3EY.=4Y6```H;@`(`
  690. XM0I0H;@`(0FP`!DY>3G5.5O_\*&X`"DJ48U0O#%F/+Q1'[@`(*@LO!7H!+P5.T
  691. XMN0``#2A/[P`,*A\H7RU%__QZ`;JN__QG'"\,68].N0``#%(J'RA?.44`!AE\'
  692. XM``$`!$[Z``I";``&0BP`!$[Z``@Y?/__``9.7DYU3E;_^BAN``Y*E&,"8`1.K
  693. XM^@"`0F[_^CHN__JZ;@`,8A0Z+O_Z)FX`"$HS4`!G!E)N__I@XB\,68\O%"9N:
  694. XM``@J"R\%>@`Z+O_Z+P5.N0``#2A/[P`,*A\H7RU%__QZ`#HN__JZKO_\9QPOS
  695. XM#%F/3KD```Q2*A\H7SE%``89?``!``1.^@`*0FP`!D(L``1.^@`(.7S__P`&(
  696. XM3EY.=4Y6__PH;@`,2I1C`F`$3OH`B"\,68\O%"9N``@J"R\%>@$O!4ZY```,4
  697. XMV$_O``PJ'RA?+47__'H!NJ[__&<N)FX`"$(3&7P``0`$+PQ9CTZY```,4BH?N
  698. XM*%\Y10`&2FP`!F8&.7S__P`&3OH`*D)L``8O#%F/+Q1"IT*G3KD```T`3^\`<
  699. XM#"H?*%^ZK``(5,5$!1E%``1.^@`(.7S__P`&3EY.=4[Y```*!$Y6``!*N0``"
  700. XM`'9F'EF//SP`"DAY```/U$*G3KD```<&3^\`"B/?````=DY>3OD``!#B9&]SS
  701. XM+FQI8G)A<GD`3E8``$(Y```!B$Y>3G5.5O_\0F[__CHN__XH;@`.'710`/_]L
  702. XM.B[__BAN``@==%``__P:+O_]NB[__&8"8`1.^@"8&B[__;HY```!B&8*'7P`[
  703. XM`0`43EY.=5)N__XZ+O_^NFX`$F,Z.B[__KIN``QB%#HN__XH;@`( `+@Y<
  704. XM```!B&8.'7P``0`43EY.=4[Z``P=?``"`!1.7DYU3OH`-CHN__ZZ;@`,8RHZJ
  705. XM+O_^*&X`#A@T4`"X.0```8AF#AU\``$`%$Y>3G5.^@`*0BX`%$Y>3G5.^@`BE
  706. XM&B[__;HN__QC#$(N`!1.7DYU3OH`#!U\``(`%$Y>3G5@`/\<3OD```^<3E8`,
  707. XM`&$`_OA.7D[Y```3\$Y6``!(>0```8Y9CS\N``PH;@`(2%1(>`/M3KD```R4S
  708. XM3^\`"DZY```-4%"/2GD```&45\5$!1/%```!BDY>3G5.5O_\2KD```&.8T0M?
  709. XM>0```8[__$AY```!CDZY```-X%B/68].N0``##8J+O_\NI]G#"\N__Q.N0``=
  710. XM#!Q8CTGY```!ID?Y```!CB;<)MPFW$Y>3G5.5@``2'D```&.*&X`"$A43KD`Q
  711. XM``[Z4(]5CR\Y```!CDZY```,;EB/2A]G/"AN``@,%`";9C)(>0```8XH;@`(5
  712. XM2%1.N0``#OI0CRAN``@,%``P90PH;@`(#!0`.6("8-8H;@`(&+P`&TIY```!+
  713. XME%?%1`43Q0```8I.7DYU3E;__D)N__Y5CR\Y```!CDZY```,;EB/2A]G`F`$2
  714. XM3OH`TA/\``$```&*2'D```&+80#_4EB/##D`(````8MB#`PY`!L```&+9P)@O
  715. XMW@PY`"````&+8P)@!$[Z`)0,.0!_```!BV<*##D`"````8MF/!/\`$$```&+,
  716. XM2F[__F,J2CD```&,9R)3;O_^'SP`"&$``/I4CQ\\`"!A``#P5(\?/``(80``M
  717. XMYE2/3OH`-#HN__ZZ;@`,8B@Z+O_^*&X`"!FY```!BU``4F[__DHY```!C&<,9
  718. XM'SD```&+80``L%2/2'D```&+80#^GEB/8`#_8$[Z`(!(>0```8Y(>0```8M.[
  719. XMN0``#OI0CPPY`"````&+8@I*>0```91F`F#8##D`(````8MC/$IY```!E&8TW
  720. XM.B[__KIN``QB%#HN__XH;@`(&;D```&+4`!2;O_^2'D```&.2'D```&+3KD`A
  721. XM``[Z4(]@NDIY```!E%?%1`43Q0```8HZ+O_^NFX`#&(,.B[__BAN``A"-%``Q
  722. XM3EY.=4Y6``!(>0```9H?+@`(3KD```WV7(].7DYU3E8``!\\``IA`/_<5(].>
  723. XM7DYU3E8``$AY```!FC\N``PH;@`(2%1.N0``#F!/[P`*2GD```&@5\5$!1/%R
  724. XM```!BDY>3G5.^0``$-Q.5@``2KD```!V9AY9CS\\``I(>0``%(1"ITZY```'+
  725. XM!D_O``HCWP```'9".0```8Q(>0```8Y9CTZY```,-DZY```-4%"/2?D```&.C
  726. XM1_D```&F)MPFW";<2'D```&:68].N0``#+Q.N0``#5!0CTGY```!FD?Y```!A
  727. XMLB;<)MPFW$Y>3OD``!C::6X^(```;W5T/B``9&]S+FQI8G)A<GD`3E8``"\.2
  728. XM(FX`$#`N``XR+@`,-"X`"C8N``@L>0```&).KO[.+%].7DYU3E8``"\.(FX`*
  729. XM"C`N``@L>0```&).KOZJ+%].7DYU3E8``"\.(FX`"C`N``@L>0```&).KOZD;
  730. XM+%].7DYU3E8``"AN``HJ#"AN`!`I10`(>@`Z+@`(*&X`$!E%`!U.7DYU3E;_M
  731. XM^"HY`````-JY````!%.%+47_^BAN__I"%"AN``Y"5"UY`````/_Z*&[_^@P4B
  732. XM`"!F!E*N__I@\"AN__I*%&<.*&X`#CH4NFX`#&("8`1.^@#"*&X`#CH4ROP`G
  733. XM4"AN``A"-%``0F[__BAN__H,%``B9@X=?``B__E2KO_Z3OH`"!U\`"#_^2ANI
  734. XM__I*%&<\*&[_^AH4NB[_^6<P#&X`3__^9!XH;O_Z)FX`#CH3ROP`4"9N``@X>
  735. XM+O_^1_-0`!>40`!2;O_^4J[_^F"\#&X`3__^9!HH;@`..A3*_`!0*&X`"#@N"
  736. XM__Y)]%``0C1```PN`"+_^68$4J[_^BAN__H,%``@9@92KO_Z8/`H;@`.4E1@E
  737. XM`/\H*&[_^DH49A(Z+@`,4D4H;@`.NE1E!'H!8`)Z`!U%`!).7DYU<`!.N0``C
  738. XM`1Q.5@``/SP`'4AY```>2DZY```3N%R/3KD``!.F/SP`($AY```>:DZY```3]
  739. XMN%R/3KD``!.F/SP`.4AY```>C$ZY```3N%R/3KD``!.F/SP`($AY```>R$ZY(
  740. XM```3N%R/3KD``!.F3KD``!.F/SP`0$AY```>ZDZY```3N%R/3KD``!.F/SP`R
  741. XM,TAY```?+$ZY```3N%R/3KD``!.F3KD``!.F3EY.=7``3KD```$<3E8``#HN+
  742. XM``Q+O'__4D4(!0``9P)214C%#(4``'__8P1!O/__T(5.N0```1R?Q2AN``@M;
  743. XM3P`()D]311;<4<W__%6/*&X`#C\\`%!(5#\N``PH;@`(2%1.N0``#^Y/[P`,?
  744. XM#!\``68.'7P``0`23EY.=4[Z``I"+@`23EY.=7`!3KD````&(#P```"J3KD`)
  745. XM``$<3E;_5BAN`!)'[O^P>A,FW%'-__P=?``!_UL_/`!.2&[_L$ZY```0\ER/@
  746. XM2CD```&*9P)@!$[Z`)9";O^N/SP`4$AN_UQ.N0``$@)<CTHY```!BF=8/SP``
  747. XM4$AN_UP_/``"0B<O/```__](;O]62&[_6DZY```'G$_O`!9*+O]:9R0J+O]61
  748. XM."[_KDFN``S81"AN``@YA4``.B[_KE)%/47_KD[Z``9"+O];3OH`!D(N_UL,E
  749. XM;@`0_ZYG"DHN_UMG!&``_WQ.N0``$3).^@`N/SP`'$AY```?8DZY```3N%R/*
  750. XM/SP`3DAN_[!.N0``$[A<CTZY```3ID(N_UM*+O];9S`H>0```>XO+``R/RX`H
  751. XM#"AN``A(5#\\``1.N0``%/9/[P`,'7P``0`63EY.=4[Z``I"+@`63EY.=7`!W
  752. XM3KD````&3OD``!/J3E8``$(Y```#756/2'D```(</SP``DAY```"'DZY```5-
  753. XM&D_O``I*'V8.3KD``!92<`!.N0````8,>0`!```"'&88##D`/P```AYF#DZYL
  754. XM```64G``3KD````&2GD```(<9PH,>0`!```"'&8.,_P``@```V)">0```V0,3
  755. XM>0`"```"'&<*#'D``P```AQF`F`$3OH`HC\\`$Y(>0```AX_/``*0B=Z`R\%O
  756. XM2'D```-F2'D```-J3KD```><3^\`%DHY```#:F823KD``!92<`!.N0````9.X
  757. XM^@`.*CD```-F,\4```-B/SP`3DAY```";C\\``I")WH#+P5(>0```V9(>0``U
  758. XM`VI.N0``!YQ/[P`62CD```-J9A).N0``%E)P`$ZY````!D[Z``XJ.0```V8S4
  759. XMQ0```V0,>0`!```"'&8<2?D```(>1_D```,.>A,FW%'-__P3_``!```#70QYB
  760. XM``,```(<9AQ)^0```KY'^0```PYZ$R;<4<W__!/\``$```-=68\_/``02'D`"
  761. XM`!^`0J=.N0``!P9/[P`*(]\```!R68\_/``/2'D``!^20J=.N0``!P9/[P`*!
  762. XM(]\```!B(_D```!R```#7BAY```#7B/L`#P```(20CD```(6,_P"@````A@S%
  763. XM_`$````"&E6/*'D```(2+RP`%C\\``](>0``'Z1.N0``%OY/[P`*2A]G*"AYM
  764. XM```"$C/L``P```(8*'D```(2,^P`#@```AH3_``!```"%D[Z``XH>0```A(CM
  765. XMU````A)*.0```A9F"DJY```"$F<"8)9*.0```A9G`F`$3OH"["AY```"$B/L+
  766. XM``0```'N0CD```(658\H>0```>XO+``@/SP`!TAY```?MDZY```6_D_O``I*Z
  767. XM'V<D$_P``0```A8_/``A2'D``!_`3KD``!.X7(].N0``$Z9.^@`.*'D```'NQ
  768. XM(]0```'N2CD```(69@I*N0```>YG`F":2CD```(69@)@!$[Z`,X_/``;2'D`:
  769. XM`!_D3KD``!.X7(].N0``$Z99CWH*+P5Z`2\%3KD```<L4(\CWP```VPH>0``Z
  770. XM`VQ'^0``'[9Z"!C;5\W__$GY```!OD)40FP``CEY```"&``$.7D```(:``89<
  771. XM?``!``@9?``!``E"K``**7P``@D```Y"K``20JP`%BEY```#;``:0JP`'D*L#
  772. XM`"(Y>0```A@`)CEY```"&@`H.7D```(8`"HY>0```AH`+#E\``$`+EF/2'D`'
  773. XM``&^3KD```=F6(\CWP```>Y*N0```>YF'#\\`!-(>0``(`).N0``$[A<CTZYT
  774. XM```3ID[Z`7!*.0```UUF3C\\`!E(>0``(!A.N0``$[A<CTZY```3IC/\554`L
  775. XM``'R,_RJJ@```?0H>0```>XO+``R/SP`#TAY```!\C\\``%.N0``%/9/[P`,=
  776. XM3OH`OC\\`"!(>0``(#1.N0``$[A<CS\\`$Y(>0```PY.N0``$[A<CTZY```3E
  777. XMIE6/2'D```,.+SD```'N/SP`#TAY```!\DZY```7BD_O``Y*'V8"8`1.^@!H*
  778. XM/SP`/TAY```@5DZY```3N%R/3KD``!.F/SP`'TAY```@F$ZY```3N%R/3KD`%
  779. XM`!.F,_Q550```?(S_*JJ```!]"AY```![B\L`#(_/``/2'D```'R/SP``4ZY;
  780. XM```4]D_O``Q.^@`"*'D```'N+RP`,C\Y```#8DZY```4NER/*'D```'N+RP`#
  781. XM,C\Y```#9$ZY```4V%R/*'D```'N+RP`,D)G0F<H>0```>X_+``(*'D```'NQ
  782. XM/RP`"DZY```4D$_O``Q.^@`"+SD```!R3KD```;N6(\O.0```&).N0``!NY8-
  783. XMCTY>3G4`````0F%C:V1R;W`@=C$N,B!B>2!*($1A=FES(#`T+SDQ``!5<V%GT
  784. XM92!I<R`Z(&)A8VMD<F]P(%MF9R!B9UT@6W!A=%T`("`@("`@9F<@86YD(&)G5
  785. XM('-P96-I9GD@=&AE(&-O;&]U<G,@=&\@=7-E(&9O<B!T:&4@<&%T=&5R;@``Q
  786. XM("`@("`@:68@;VUI='1E9"`P(&%N9"`R(&%R92!U<V5D`"`@("`@('!A="!I1
  787. XM<R!T:&4@;F%M92!O9B!T:&4@9FEL92!C;VYT86EN:6YG('1H92!B86-K9')O,
  788. XM<"!P871T97)N`"`@("`@(&EF(&]M:71T960@82!S:6YG;&4@<&EX96P@8VAEH
  789. XM8VME<F)O87)D(&ES('5S960``&-O=6QD;B=T(&]P96X@<&%T=&5R;B!F:6QE*
  790. XM(#H@`&EN='5I=&EO;BYL:6)R87)Y`&=R87!H:6-S+FQI8G)A<GD``%=O<FMBY
  791. XM96YC:"!38W)E96X``$)A8VM$<F]P``!M;V1I9GEI;F<@97AI<W1I;F<@8F%C[
  792. XM:V1R;W`@=VEN9&]W``!C<F5A=&EN9R!N97<@8F%C:V1R;W`@=VEN9&]W``!E2
  793. XM<G)O<B!O<&5N:6YG('=I;F1O=P``=7-I;F<@9&5F875L="!F:6QL('!A='1E]
  794. XM<FX``'5S:6YG(&-U<W1O;2!P871T97)N(&9R;VT@9FEL92`Z(`!E<G)O<B!I@
  795. XM;B!P871T97)N(&1E9FEN:71I;VX@9FEL92`H;W(@<&%T=&5R;B!F:6QE(&1O/
  796. XM97-N)W0@97AI<W0I``!W:6QL('5S92!D969A=6QT('!A='1E<FX@:6YS=&5A#
  797. XM9`````````/L````IP`````````"```![@```?H```(&```"%````B(```(N8
  798. XM```"8@``!%(```4````&,@``!D8```9P```&N@``!LP```;8```&W@``!NH`]
  799. XM``=0```'8@``!XP```>8```'V```!_(```E@```)H@``"=H```H&```*%@``Q
  800. XM"BP```I"```*7```"G(```J,```*M```"MX```L(```+,@``"UP```N&```,T
  801. XM&```#78```V<```-O```#A8```XT```.K```#LX```\@```/2@``#W8```^>#
  802. XM```/M@``#[X```_0```0W@``$.X``!$.```1&```$4X``!%8```1:@``$9@`1
  803. XM`!&H```1R@``$A0``!,"```36@``$YP``!/.```3[```%`0``!0,```4*@``!
  804. XM%#```!12```46```%'0``!96```69```%FH``!9R```6?```%H(``!:*```6L
  805. XME```%IH``!:B```6K```%K(``!:Z```6P```%LH``!;0```6V```%N(``!;H6
  806. XM```6\```%O8``!<"```7+@``%UX``!>&```7D@``%[H``!?<```8"```&%H`!
  807. XM`!AH```8;@``&'X``!B&```8K@``&-```!C6```8^```&08``!D.```9*```M
  808. XM&3```!F0```9H@``&:H``!G@```9\@``&?H``!IB```::@``&H```!J(```:=
  809. XMU@``&MP``!MB```;:```&X(``!N(```;D```&\H``!O0```;V```&^@``!O\4
  810. XM```<A```')X``!RD```<K```',(``!S(```<T```'/X``!T0```=%@``'2@`/
  811. XM`!TP```=3@``'68``!UL```==```'7X``!V$```=C```';H``!W8```=\```3
  812. XM'AH``!XN```>/````/D````!````G````-@```#T```!#```!?P```8$```&>
  813. XM#```!A@```8>```&)```!BP```8X```&2@``!F````9F```&:@``!G8```:<8
  814. XM```&L```!M(```;D```'6@``!W8```>2```)J```"<````G.```)U```">@`.
  815. XM``H<```*,@``"D@```IB```*>```"I(```J<```*H@``"J@```JN```*O````
  816. XM"L8```K,```*T@``"M@```KF```*\```"O8```K\```+`@``"Q````L:```+L
  817. XM(```"R8```LL```+.@``"T0```M*```+4```"U8```MD```+;@``"W0```MZ9
  818. XM```+@```"XX```N<```+I@``"[````NZ```+Q```"\X```O8```+X@``"^P`K
  819. XM``OV```,````#`H```P0```,*```##X```Q:```,>@``#*@```S$```,[```E
  820. XM#10```T\```/J```#\@```_F```0*```$%X``!"8```0^```$2```!$J```1`
  821. XM.```$4```!%(```1<@``$7@``!&,```1H@``$;X``!'P```1^@``$@X``!(HS
  822. XM```2+@``$CP``!)&```24@``$F(``!)L```2=@``$H(``!+"```2S@``$M8`T
  823. XM`!+B```2]@``$OP``!,,```3%```$R```!,H```30@``$TX``!-4```39```2
  824. XM$VX``!.2```3O@``$]@``!/B```3]@``%!8``!0<```4(@``%#@``!0^```4B
  825. XM2@``%&```!1F```4K```%,H``!3H```5(```%28``!4^```7P@``%^0``!B67
  826. XM```8X```&.@``!CR```9%@``&2```!DV```90```&4H``!E0```96```&6(`*
  827. XM`!ET```9A```&8H``!F:```9M```&;H``!G$```9U```&=H``!GJ```:!```^
  828. XM&@H``!H2```:&@``&B```!HP```:.```&D```!I&```:5@``&G0``!J2```:8
  829. XMF```&IP``!JB```:J@``&K```!JX```:P```&L@``!KJ```:\@``&O@``!L`C
  830. XM```;"```&Q(``!L8```;'@``&R8``!LP```;/@``&T8``!M,```;5```&W@`K
  831. XM`!N:```;H```&Z8``!NN```;N```&_```!OV```<"@``'!8``!P>```<1@``=
  832. XM'%8``!Q>```<9@``'&X``!Q^```<C```')(``!RV```<V```'.```!SF```<(
  833. XM]```'2(``!TX```=/@``'4@``!V4```=G```':(``!VP```=R```'=(``!W@/
  834. XM```=Z@``'?@``!X&```>$```'B@``!XV`````````_(```/K````W````_(`\
  835. X+``/J`````````_(&H
  836. X``
  837. Xend
  838. Xsize 10136
  839. END_OF_FILE
  840. if test 14231 -ne `wc -c <'backdrop.uu'`; then
  841.     echo shar: \"'backdrop.uu'\" unpacked with wrong size!
  842. fi
  843. # end of 'backdrop.uu'
  844. fi
  845. if test -f 'block.pattern' -a "${1}" != "-c" ; then 
  846.   echo shar: Will not clobber existing file \"'block.pattern'\"
  847. else
  848. echo shar: Extracting \"'block.pattern'\" \(272 characters\)
  849. sed "s/^X//" >'block.pattern' <<'END_OF_FILE'
  850. X1111111111111111
  851. X1111111111111111
  852. X1100000011000000
  853. X1100000011000000
  854. X1100000011000000
  855. X1100000011000000
  856. X1100000011000000
  857. X1100000011000000
  858. X1111111111111111
  859. X1111111111111111
  860. X1100000011000000
  861. X1100000011000000
  862. X1100000011000000
  863. X1100000011000000
  864. X1100000011000000
  865. X1100000011000000
  866. END_OF_FILE
  867. if test 272 -ne `wc -c <'block.pattern'`; then
  868.     echo shar: \"'block.pattern'\" unpacked with wrong size!
  869. fi
  870. # end of 'block.pattern'
  871. fi
  872. if test -f 'hatch.pattern' -a "${1}" != "-c" ; then 
  873.   echo shar: Will not clobber existing file \"'hatch.pattern'\"
  874. else
  875. echo shar: Extracting \"'hatch.pattern'\" \(272 characters\)
  876. sed "s/^X//" >'hatch.pattern' <<'END_OF_FILE'
  877. X1000100010001000
  878. X0001000100010001
  879. X0010001000100010
  880. X0100010001000100
  881. X1000100010001000
  882. X0001000100010001
  883. X0010001000100010
  884. X0100010001000100
  885. X1000100010001000
  886. X0001000100010001
  887. X0010001000100010
  888. X0100010001000100
  889. X1000100010001000
  890. X0001000100010001
  891. X0010001000100010
  892. X0100010001000100
  893. END_OF_FILE
  894. if test 272 -ne `wc -c <'hatch.pattern'`; then
  895.     echo shar: \"'hatch.pattern'\" unpacked with wrong size!
  896. fi
  897. # end of 'hatch.pattern'
  898. fi
  899. if test -f 'startup-sequence.example' -a "${1}" != "-c" ; then 
  900.   echo shar: Will not clobber existing file \"'startup-sequence.example'\"
  901. else
  902. echo shar: Extracting \"'startup-sequence.example'\" \(361 characters\)
  903. sed "s/^X//" >'startup-sequence.example' <<'END_OF_FILE'
  904. X; this is the fragment of my own startup sequence
  905. X; I use with WB and BackDrop
  906. X
  907. Xrun wb102                      ; launch wb to force Workbench into window
  908. X
  909. XLoadWB delay
  910. X
  911. Xbackdrop 0 2 s:hatch.pattern   ; load my own fave pattern
  912. X
  913. Xwsize -450 -100 Workbench      ; size WorkBench down
  914. Xwmove 442 4 Workbench          ; shunt workbench into one corner of the screen
  915. X
  916. END_OF_FILE
  917. if test 361 -ne `wc -c <'startup-sequence.example'`; then
  918.     echo shar: \"'startup-sequence.example'\" unpacked with wrong size!
  919. fi
  920. # end of 'startup-sequence.example'
  921. fi
  922. if test -f 'wb102.doc' -a "${1}" != "-c" ; then 
  923.   echo shar: Will not clobber existing file \"'wb102.doc'\"
  924. else
  925. echo shar: Extracting \"'wb102.doc'\" \(2576 characters\)
  926. sed "s/^X//" >'wb102.doc' <<'END_OF_FILE'
  927. XWB - A mindless WorkBench Hack
  928. X------------------------------
  929. XBy J Davis 10/03/90
  930. X
  931. Xversion 1.02 - 07/07/90
  932. X
  933. XThose who've had a sneak preview of WorkBench 2.0 will have noticed that in
  934. X2.0 WorkBench is no longer a backdrop window, but a normal sizable,
  935. Xdraggable window.
  936. X
  937. XAt  first you may wonder if this is any real use ...  but it can be if you
  938. X(  like  me  ) run Jrcomm on workbench.  The trouble is both WB and Jrcomm
  939. Xopen  backdrop  windows  ...   meaning  that you can't depth arrange them.
  940. XHence,  once  Jrcomm  is  on WB, you cant get at the ( main ) WB window to
  941. Xopen disks ( or access MyMenu ...  the main thing that annoyed me ).
  942. X
  943. XThis  little  machine  code  hack  cures  that,  and gives you a 1.4 style
  944. Xworkbench to boot!
  945. X
  946. XWhat it does and how it does it
  947. X-------------------------------
  948. X
  949. XWB  installs some new code in Intuition OpenWindow vector.  As each window
  950. Xopens  it  checks the windows Flags field to see if it has the 'workbench'
  951. Xbit set.  This is used to signify a window belonging to workbench.
  952. X
  953. XIf it is a WB window, then it clears the Backdrop and Borderless bits, and
  954. Xsets  the  bits  to give the window size, drag and depth gadgets.  It then
  955. Xallows  the  window  open  ( by calling the original OpenWindow code ) and
  956. Xremoves itself.
  957. XHow to use it
  958. X-------------
  959. X
  960. XIn your startup-sequence, just before the LOADWB line, put in
  961. X
  962. X   RUN WB
  963. X
  964. XYou  need to run it, so as workbench can load.  Don't worry, as soon as WB
  965. Xhas opened the background task will quit.
  966. X
  967. XThe soure code
  968. X--------------
  969. X
  970. XIncluded  is  the  full  assembler  source ( I assembled it using HiSoft's
  971. Xbrilliant devpac but most other assemblers should be happy with it ).
  972. X
  973. XThe code is easily modifiable to be a general window intercept package ...
  974. Xpossibilities  include  forcing  WB  windows  to open on the front screen,
  975. Xforcing packages to NOT open backdrop windows etc.
  976. XNote that the current slightly weird way the code works ( set functions to
  977. Xone  block of code, then waits for a signal back from it ) is simply so as
  978. Xto  allow  the  patch  to  be  removed.  If you want a permanent patch you
  979. Xshould  allocmem  some  space  and  copy the patch into it, before doing a
  980. Xsetfunction  and  quitting  (  natuarally  the  patch code will have to be
  981. Xposition independent !  ).
  982. X
  983. XVersion 1.02 Changes
  984. X--------------------
  985. X
  986. XThis  is just a maintenance release.  In v1.01 I commited the cardinal sin
  987. Xof  writing self modifying code ( which may not work properly on 030s 040s
  988. X).   Plus  it  still had a lot of unecessary debugging code in it.  All of
  989. Xthat has been cleaned up in this release.
  990. END_OF_FILE
  991. if test 2576 -ne `wc -c <'wb102.doc'`; then
  992.     echo shar: \"'wb102.doc'\" unpacked with wrong size!
  993. fi
  994. # end of 'wb102.doc'
  995. fi
  996. if test -f 'wb102.s' -a "${1}" != "-c" ; then 
  997.   echo shar: Will not clobber existing file \"'wb102.s'\"
  998. else
  999. echo shar: Extracting \"'wb102.s'\" \(6633 characters\)
  1000. sed "s/^X//" >'wb102.s' <<'END_OF_FILE'
  1001. X; program to intercept all openwindow calls
  1002. X; waits until it's WB and forces WB to open sizable/draggable/depthable
  1003. X; then restores normal openwindow and quit
  1004. X;
  1005. X; v1.0   initial version
  1006. X;
  1007. X; v1.01  90/04/01 fixed bug causing crash if $0<>#0
  1008. X;                 ( guess who forgot to put #0 instead of $0 for
  1009. X;                   the lib version :-)
  1010. X;
  1011. X; v1.02  90/07/07 cleaned up code to avoid illegal ( on 030 ) 
  1012. X;                 self-modifying code
  1013. X;                 ( oops .. guilty as charged your honour! :-)
  1014. X;          also cleaned up code to reduce chances of
  1015. X;          crashes whilst code de-installs itself ( was
  1016. X;          very rough and ready, is now just rough :-)
  1017. X
  1018. X;==========================================================
  1019. X
  1020. Xopenlibrary    equ -$228      ; misc lib call offsets we need
  1021. Xsetfunction    equ -$1a4       ; I know it's slack but it's quick :-)
  1022. Xcloselibrary    equ -$19e
  1023. X
  1024. Xopenwind    equ -$cc
  1025. X
  1026. Xoutput        equ -$3c
  1027. Xdelay        equ -$c6
  1028. Xwrite        equ -$30
  1029. X
  1030. Xoffsetflags    equ 14        ; offset of flags in newwindow struct
  1031. X
  1032. Xdebug        equ    0    ; whether we want extra debug info
  1033. X
  1034. X;====================================================================
  1035. X
  1036. Xstart:        move.l    $4,a6
  1037. X        move.l    #intuiname,a1
  1038. X        move.l    #$0,d0
  1039. X        jsr    openlibrary(A6)            ; open intuition
  1040. X    
  1041. X        move.l    d0,intuibase            ; save lib in ibase
  1042. X
  1043. X        move.l    $4,a6
  1044. X        move.l    #dosname,a1
  1045. X        move.l    #$0,d0
  1046. X        move.l    $4,a6
  1047. X        jsr    openlibrary(a6)            ; open dos
  1048. X        
  1049. X        move.l    d0,dosbase            ; save lib in dosbase
  1050. X        
  1051. X        move.l    $4,a6
  1052. X        move.l    intuibase,a1
  1053. X        move.w    #openwind,a0
  1054. X        move.l  #ouropenwind,d0
  1055. X        jsr    setfunction(a6)            ; replace intuitions open window
  1056. X    
  1057. X        move.l    d0,oldopenwind            ; save old vector
  1058. X    
  1059. X        IFNE    debug
  1060. X         move.l    dosbase,a6
  1061. X         jsr    output(a6)            ; get handle on stdout
  1062. X        
  1063. X         move.l    d0,outhandle            ; save the output handle
  1064. X
  1065. X         move.l    dosbase,a6        
  1066. X         move.l    outhandle,d1
  1067. X         move.l  #startstr,d2
  1068. X         move.l    #es-startstr,d3
  1069. X         jsr    write(a6)            ; print startup message
  1070. X        ENDC
  1071. X    
  1072. X        ; now wait for WorkBench to open
  1073. X    
  1074. Xwloop:        cmpi.b    #$1,flag    ; has it happened yet ?
  1075. X        beq    done
  1076. X    
  1077. X        move.l    dosbase,a6
  1078. X        move.l    #50,d1    
  1079. X        jsr    delay(a6)    ; wait 1 sec
  1080. X        
  1081. X        bra     wloop        ; loop waiting for patch to signal us
  1082. X    
  1083. Xdone:        ; patch has done it's thing, now quit    
  1084. X
  1085. X        IFNE    debug
  1086. X         move.l    dosbase,a6
  1087. X         move.l    outhandle,d1
  1088. X         move.l #quitstr,d2
  1089. X         move.l    #eq-quitstr,d3
  1090. X         jsr    write(a6)            ; print quit message
  1091. X        ENDC
  1092. X
  1093. X        move.l    $4,a6
  1094. X        move.l    intuibase,a1
  1095. X        jsr    closelibrary(a6)            ; close intuition
  1096. X    
  1097. X        move.l    $4,a6
  1098. X        move.l    dosbase,a1
  1099. X        jsr    closelibrary(a6)            ; close dos
  1100. X        
  1101. X        rts                              ; all done, quit
  1102. X    
  1103. X;================================================================
  1104. X
  1105. Xouropenwind:    ; this replaces the normal openwindow call
  1106. X        ; we snoop the newwind to see if
  1107. X        ; flags INCL WorkBenchWind
  1108. X        
  1109. X        ; on entry A0 = newwindowptr
  1110. X        ; on return D0 = windowptr
  1111. X
  1112. X        IFNE    debug    
  1113. X         movem.l    a0-a6/d0-d7,-(a7)    ; save everything
  1114. X        
  1115. X         move.l    dosbase,a6
  1116. X         move.l    outhandle,d1
  1117. X         move.l    #windstr,d2    
  1118. X         move.l    #ew-windstr,d3
  1119. X         jsr    write(a6)        ; print up a status message
  1120. X
  1121. X         movem.l (a7)+,a0-a6/d0-d7    ; get all the regs back so we
  1122. X                        ; see where a0 points
  1123. X        ENDC
  1124. X
  1125. X        movem.l a0-a6/d0-d7,-(a7)    ; save all regs as we alter them
  1126. X        
  1127. X        move.l    offsetflags(a0),d0    ; get flags in d0
  1128. X        
  1129. X        IFNE    debug
  1130. X          bsr    printflags        ; print them out
  1131. X        ENDC
  1132. X
  1133. X        btst.l    #25,d0            ; is WbencWindow set
  1134. X        
  1135. X        beq    carryon            ; not set .. do nothing
  1136. X        
  1137. X        bset.l    #0,d0            ; set windowsizing
  1138. X        bset.l     #1,d0            ; set window drag
  1139. X        bset.l    #2,d0            ; set window depth
  1140. X        
  1141. X        bclr.l    #8,d0            ; clear backdrop
  1142. X        
  1143. X        bclr.l    #11,d0            ; clear borderless
  1144. X        
  1145. X        move.l    d0,offsetflags(a0)     ; copy in modified flags
  1146. X
  1147. X        IFNE    debug
  1148. X         bsr    printflags        ; print out changed flags
  1149. X                
  1150. X         move.l    dosbase,a6
  1151. X         move.l    outhandle,d1
  1152. X         move.l    #wbwindstr,d2
  1153. X         move.l    #ewb-wbwindstr,d3
  1154. X         jsr    write(a6)        ; print status message
  1155. X        ENDC
  1156. X    
  1157. X        ; now set openwindow vector back to it's original value
  1158. X        ; note this is potentially risky, as if another program
  1159. X        ; has setfunctioned openwindow since we installed
  1160. X        ; we will effectively remove it AS WELL as ourselves!! 
  1161. X
  1162. X        ; I presume setfunction does a Forbid for us while removing
  1163. X            
  1164. X        move.l    $4,a6
  1165. X        move.l    intuibase,a1
  1166. X        move.w    #openwind,a0
  1167. X        move.l    oldopenwind,d0
  1168. X        jsr    setfunction(a6)            ; put back orig openwindow
  1169. X    
  1170. X        ; now signal back that it's ok to remove us now
  1171. X
  1172. X        move.b    #$1,flag            ; set terminate flag
  1173. X        
  1174. Xcarryon:    ; call old openwindow code
  1175. X        ; note this is changed from the last version
  1176. X        ; which used self-modifying code which is of course
  1177. X        ; very poor style!
  1178. X
  1179. X        movem.l    (a7)+,d0-d7/a0-a6    ; get all the regs back
  1180. X
  1181. X        ; openwindow only takes a newwindowptr in A0
  1182. X        ; and returns windowptr in D0, so we used unused
  1183. X        ; A1 reg as pointer to code to jump to
  1184. X
  1185. X        ; CBM actually recommend you copy back the original
  1186. X        ; vector and jump thru that via jsr -blarg(a6)
  1187. X        ; this is a bit quicker, if slightly illegal
  1188. X
  1189. X        move.l    a1,-(a7)        ; save a1 as we're going to use it
  1190. X        move.l    oldopenwind,a1        ; get address of old openwindow
  1191. X        jsr    (a1)            ; call old code
  1192. X        move.l    (a7)+,a1        ; get back original a1
  1193. X        
  1194. X        rts
  1195. X        
  1196. X;===================================================================
  1197. X        IFNE    debug
  1198. Xprintflags:     ; print out WindowFlags in D0 for debugging
  1199. X         movem.l    a0-a6/d0-d7,-(a7)    ; save all regs
  1200. X         move.l    #31,d1            ; print out all 32 bits
  1201. X        
  1202. Xploop:         btst    d1,d0            ; see what bit is set to
  1203. X         movem.l    d0-d7/a0-a6,-(a7)    ; save regs
  1204. X         beq    iszero
  1205. X        
  1206. X         move.l    dosbase,a6
  1207. X         move.l    outhandle,d1
  1208. X         move.l    #onestr,d2
  1209. X         move.l    #1,d3
  1210. X         jsr    write(a6)        ; print "1"
  1211. X         bra    next
  1212. X
  1213. Xiszero:         move.l    dosbase,a6
  1214. X         move.l    outhandle,d1
  1215. X         move.l    #zerostr,d2
  1216. X         move.l    #1,d3
  1217. X         jsr     write(a6)        ; print "0"
  1218. X        
  1219. Xnext:         movem.l    (a7)+,d0-d7/a0-a6    ; restore regs
  1220. X
  1221. X         dbf    d1,ploop         ; do it for all 32 bits
  1222. X
  1223. X         move.l    dosbase,a6
  1224. X         move.l    outhandle,d1
  1225. X         move.l    #lfstr,d2
  1226. X         move.l    #1,d3
  1227. X         jsr     write(a6)        ; print a LF
  1228. X
  1229. X         movem.l    (a7)+,d0-d7/a0-a6    ; restore all regs
  1230. X         rts
  1231. X        ENDC
  1232. X
  1233. X;=============================================================
  1234. X; data and var storage
  1235. X
  1236. Xflag:        dc.b    0                
  1237. X        ; use this to signal main program from patch 
  1238. X        ; when we want to terminate
  1239. X    
  1240. Xonestr:        dc.b    "1"
  1241. Xzerostr:    dc.b    "0"
  1242. Xlfstr:        dc.b    10
  1243. X
  1244. Xstartstr:    dc.b    "installed .. waiting for window to open",10
  1245. Xes:        dc.b    0
  1246. X
  1247. Xwindstr:        dc.b    "window opened",10
  1248. Xew:        dc.b    0
  1249. X
  1250. Xwbwindstr:    dc.b    "WorkBench window opened!! ",10
  1251. Xewb:        dc.b    0
  1252. X
  1253. Xquitstr:    dc.b    "removing and terminating",10
  1254. Xeq:        dc.b    0
  1255. X    
  1256. Xintuiname:    dc.b    "intuition.library",0
  1257. X
  1258. Xdosname:        dc.b    "dos.library",0
  1259. X
  1260. X        cnop    0,4    ; align var storage
  1261. X
  1262. Xoldopenwind:    dc.l    0     ; old openwindow address is saved here
  1263. Xouthandle:    dc.l    0                ; store handle to stdout here
  1264. Xdosbase:        dc.l    0                ; store dosbase ptr here
  1265. Xintuibase:    dc.l    0                ; store ibase ptr here
  1266. X
  1267. X        end        
  1268. END_OF_FILE
  1269. if test 6633 -ne `wc -c <'wb102.s'`; then
  1270.     echo shar: \"'wb102.s'\" unpacked with wrong size!
  1271. fi
  1272. # end of 'wb102.s'
  1273. fi
  1274. if test -f 'wb102.uu' -a "${1}" != "-c" ; then 
  1275.   echo shar: Will not clobber existing file \"'wb102.uu'\"
  1276. else
  1277. echo shar: Extracting \"'wb102.uu'\" \(768 characters\)
  1278. sed "s/^X//" >'wb102.uu' <<'END_OF_FILE'
  1279. Xbegin 666 wb102
  1280. XM```#\P`````````!``````````````!G```#Z0```&<L>0````0B?````6X@'
  1281. XM/`````!.KOW8(\````&8+'D````$(GP```&`(#P`````+'D````$3J[]V"/`*
  1282. XM```!E"QY````!")Y```!F#!\_S0@/````*!.KOY<(\````&,##D``0```/QG\
  1283. XM```6+'D```&4(CP````R3J[_.F``_^(L>0````0B>0```9A.KOYB+'D````$X
  1284. XM(GD```&43J[^8DYU2.?__B`H``X(```99P``/`C````(P``!",```@B```@((
  1285. XM@``+(4``#BQY````!")Y```!F#!\_S0@.0```8Q.KOY<$_P``0```/Q,WW__G
  1286. XM+PDB>0```8Q.D2)?3G4`,3`*:6YS=&%L;&5D("XN('=A:71I;F<@9F]R('=ID
  1287. XM;F1O=R!T;R!O<&5N"@!W:6YD;W<@;W!E;F5D"@!7;W)K0F5N8V@@=VEN9&]W/
  1288. XM(&]P96YE9"$A(`H`<F5M;W9I;F<@86YD('1E<FUI;F%T:6YG"@!I;G1U:71I3
  1289. XM;VXN;&EB<F%R>0!D;W,N;&EB<F%R>0`````````````````````````#[```8
  1290. XM``\`````````"````!@````D````.@```$8```!0````6@```&(```!L````+
  1291. X=A@```)8```#0````V@```.8```#R`````````_)0C
  1292. X``
  1293. Xend
  1294. Xsize 524
  1295. END_OF_FILE
  1296. if test 768 -ne `wc -c <'wb102.uu'`; then
  1297.     echo shar: \"'wb102.uu'\" unpacked with wrong size!
  1298. fi
  1299. # end of 'wb102.uu'
  1300. fi
  1301. if test -f 'wmove.uu' -a "${1}" != "-c" ; then 
  1302.   echo shar: Will not clobber existing file \"'wmove.uu'\"
  1303. else
  1304. echo shar: Extracting \"'wmove.uu'\" \(14508 characters\)
  1305. sed "s/^X//" >'wmove.uu' <<'END_OF_FILE'
  1306. Xbegin 666 wmove
  1307. XM```#\P`````````"``````````$```CG```!D0```^D```CG2.=^_DOO`#0D2
  1308. XM2"0`2?D`````+'@`!"E.`$`I3P!,0JP`2)/)3J[^VB9`*6L`F``X2JL`K&<`)
  1309. XM`'`@#9"M``0&@````(`I0``$80`!>B!K`*S1R-'((F@`$-/)T\D@`G(`$ADI0
  1310. XM20!4T(%2@$)G4H`"0/_^G\!5@$)W"``@`E.`U($?L@``(`!3@E'(__8?O``@(
  1311. XM(`!3@A^Q(``@`%'*__@B3R\)8```;"EK`#H`!`:L````@``$80`!#F$``/@I&
  1312. XM0`!(+P`D0"`J`"1G$BQL!!@@0"(H```I00`X3J[_@B(J`"!G&B0\```#[4ZNX
  1313. XM_^(I0`!09PKEB"!`)V@`"`"D(&P`2"\(2&P``"!H`"0I:``$`%1'^0``!"QR)
  1314. XM`"`\````AF`")L%1R/_\3KH2H'``8`0@+P`$+P`@+``L9P0@0$Z03KH'UBQXY
  1315. XM``0B;`083J[^8DJL!"!G"")L!"!.KOYB2JP$)&<((FP$)$ZN_F)*K`!89P@B?
  1316. XM;`!83J[^8DJL`$AG)"(L`#QG!$ZN_]PB+`!09P1.KO_<+'@`!$ZN_WPB;`!(*
  1317. XM3J[^AB`?+FP`3$S??WY.=7!D8(!!ZP!<3J[^@$'K`%Q.KOZ,3G5#[`!<<`!.@
  1318. XMKOW8*4`$&&?:3G4``+_L``1E`!]&2&P`:$ZZ"!983TAX``I.N@1,6$].=4Y5=
  1319. XM``"_[``$90`?)"\M``A(;`"0+RT`#$ZZ"9A/[P`,4X!G`F&\3EU.=4Y5__Q('
  1320. XMYP`"O^P`!&4`'O9*K0`(9SX@;0`(2A!G-B!L!!PK:``\__Q*K?_\9S(@;?_\*
  1321. XM2J@`%F<2+RT`""\H`!9.N@RZ4$]*@&<6(&W__"M0__Q@U")L!!P@:0`X*TC_9
  1322. XM_$JM__QF("QX``1.KO]V+RT`"$AL`)1.N@=D4$](>``*3KH#FEA/("W__$S?4
  1323. XM0`!.74YU3E7__$CG``*_[``$90`>9$JM``AG/B!M``A*$&<V(&T`#"MH``3_R
  1324. XM_$JM__QG,B!M__Q*J``@9Q(O+0`(+R@`($ZZ#"A03TJ`9Q8@;?_\*U#__)
  1325. XM(FP$'"!I`#0K2/_\2JW__&8J+'@`!$ZN_W8@;0`,+R@`%B\M``A(;`"L3KH&,
  1326. XMRD_O``Q(>``*3KH"_EA/+'@`!$ZN_W8@+?_\3-]``$Y=3G5.5?_H2.<X(K_L%
  1327. XM``1E`!W`D<@K2/_X*TC__"(M``@,@0````-M"`R!````!6\$80#^4B!M``PO1
  1328. XM*``$2&W_]&$`_F!03R!M``PO*``(2&W_\&$`_DY03R(M``@,@0````-O&"!M5
  1329. XM``Q*J``,9PX@:``,$!!*`&<$*TC__`R!````!&\8(&T`#$JH`!!G#B!H`!`0F
  1330. XM$$H`9P0K2/_X0^P`U'``+'@`!$ZN_=@I0`0<2JP$'&<``4`L>``$3J[_?"\M=
  1331. XM__AA`/X(6$\O`"\M__PK0/_H80#^BE!/*T#_["QX``1.KO]V(&W_[#`H``1(P
  1332. XMP$2`)"W_]+2`;`0K0/_T,"@`!DC`1(`D+?_PM(!L!"M`__`P*``$2,`B+?_T8
  1333. XMTH`T*``(2,+2@B)M_^@V*0`,2,.R@V\(EH*6@"M#__0P*``&2,`B+?_PTH`TE
  1334. XM*``*2,+2@C8I``Y(P[*#;PB6@I:`*T/_\"1H`"XO*@`6+R@`($AL`.9.N@4V\
  1335. XM3^\`#"!M_^PP*``$2,`R*``&2,$O`2\`2&P!!$ZZ!19/[P`,2JW_]&8&2JW_@
  1336. XM\&=$(&W_[#`H``1(P"(M__30@30H``9(PB8M__#4@R\#+P$O`B\`2&P!($ZZN
  1337. XM!-I/[P`4(&W_["`M__0B+?_P+&P$'$ZN_U@B;`0<+'@`!$ZN_F),WT0<3EU.G
  1338. XM=4CG,#(L>0``!!P@;P`8(F\`'"1O`"`F;P`D("\`*"(O`"PD+P`P)B\`-$ZN'
  1339. XM_J1,WTP,3G5.5?_\2.<@`'``*4``&$JM``AK)"0M``BTK`.$;!HB`N>!0>P%8
  1340. XM!")(T\%*D6<*(@+G@='!(`A@"'`)*4`"S'``3-\`!$Y=3G4`````````````Y
  1341. XM``````````````````!*K`0<9A)#[`*X<``L>``$3J[]V"E`!!PI;`!4`FQ((
  1342. XM>``H2'@`^G``+P`O`$AL`J0O`$AL`HHO`$ZZ_S)/[P`@2'@`%$ZZ&S)83TYU*
  1343. XM````````````````3E7_]$CG`"!%[`+LM/P``&<V""H``@`;9BH(*@`!`!MGE
  1344. XM(B`J``20J@`0*T#_^$J`9Q(O`"\J`!`O*@`<3KH)BD_O``PD4F#$+RT`"$ZZ7
  1345. XM&M)83TS?!`!.74YU``!G/B!M``AP84Y5```O+0`(80983TY=3G5.5?_L2.<#^
  1346. XM("XM``A*AVX&<`!@``#$#(<````(;`)^""`'(`=6@.2`Y8`N`$'L`WPD4"M(9
  1347. XM__BT_```9TXB*@`$LH=M/K*'9A(@4B)M__@BB)^L`X`@"F```(`@*@`$D(<,L
  1348. XM@`````AM&B!*($K1QR"2(4``!")M__@BB)^L`X`@"F!6*TK_^"128*P@!R(L3
  1349. XM!"@@!]"!4X!.NAD8(BP$*$ZZ&>Q0@"P`(`8@!E:`Y(#E@"P`+P9.N@"B6$\K[
  1350. XM0/_P2H!G%"\&+P!.N@,B4$\O!V$`_S!83V`"<`!,WP3`3EU.=2!M``A*$&<V,
  1351. XM(&T`#$Y5```B+0`(#($````P;0P,@0```#EN!'`!8`)P`$Y=3G4``$Y5__8OY
  1352. XM+0`(3KK]NEA/*T#_]DJ`9@1P_V`J+RT`$"\M``P@;?_V+R@`!$ZZ&OQ/[P`,!
  1353. XM*T#_^DJL`!AG!'#_8`0@+?_Z3EU.=4Y5__@@+0`(!H`````,+T```"`O``!R5
  1354. XM`"QX``1.KO\Z*T#__$JM__QF!'``8#0@+0`(!H`````,(&W__"%```@O"$ALF
  1355. XM!"QA``$(4$]*K`-P9@8I;?_\`W`@;?_\T/P`#"`(3EU.=4Y5__PO+0`(89!83
  1356. XM3RM`__Q*@&8&,'S__R`(3EU.=4Y5__A(YP$@80``@'``*4``$"E```@I0``,%
  1357. XM*4`#?"E``X`I0`-T*4`#<"E``WA*K`-H9TP@+`0H(BP#:-*`4X$@`2(L!"A.(
  1358. XMNA>,(BP$*$ZZ&&!0@"X`(`<@!U:`Y(#E@"X`+P=A`/\66$\D0+3\``!F!'#_P
  1359. XM8`PO!R\*3KH!>%!/<`!,WP2`3EU.=4Y5__@K;`0L__Q*K?_\9R0@;?_\*U#_C
  1360. XM^")M__P@;?_\("@`""QX``1.KO\N*VW_^/_\8-:1R"E(!#`I2`0L3EU.=4Y5;
  1361. XM``!(YP`@(FT`""!I``0B;0`,(T@`!)'((H@D;0`(2I)F`B2)2JH`!&<&(&H`Y
  1362. XM!""))4D`!$S?!`!.74YU```K2/_X*TC__"(M``@,@0````-M"`R!````!6\$U
  1363. XM80!P84Y5``!2K`0X4ZP#&B`L`QI*@&L4(&P#$E*L`Q(@+0`($(!R`!(08!@@B
  1364. XM+0`(`H````#_2&P##B\`3KH&>E!/(@!.74YU3E4``$*L!#A(;0`,+RT`"$AZ5
  1365. XM_ZI.NA!43^\`#$AL`PY(>/__3KH&2E!/("P$.$Y=3G4``$Y5__@O+0`(3KK[0
  1366. XM2EA/*T#__$J`9@1P_V`J+RT`$"\M``P@;?_\+R@`!$ZZ%^Q/[P`,*T#_^$JLH
  1367. XM`!AG!'#_8`0@+?_X3EU.=0```````G!A3E7__"`M``PO`"\M``@K0/_\8090"
  1368. XM3TY=3G5.5?_H2.<A,"XM``Q*AVX&</]@``#R#(<````(;`)^""`'(`=6@.2`+
  1369. XMY8`N`"!M``@K2/_TT<??K`.`0^P#?"11*TC_\"M)__BT_```9P``HB!*("H`1
  1370. XM!"!*T<`K2/_L)"W_\+7"8Q8B;?_T(HHC1P`$)FW_^":)<`!@``",M<)F'B)2M
  1371. XM)FW_]":)("H`!"(`TH<G00`$(FW_^"*+<`!@:")M__2SR&0(GZP#@'#_8%BSF
  1372. XMR&8N2I)G#B(2M(%C")^L`X!P_V!"WZH`!$J29Q"TDF8,($(@*``$T:H`!"209
  1373. XM<`!@)BM*__@K;?_L_^@D4F``_UH@;?_X(*W_])'((FW_]"*((T<`!"`(3-\,1
  1374. XMA$Y=3G5.5?_H2.<P`"EM``@$/$'M`!!"K?_\*TC_["!M``Q*$&<``29P`!`00
  1375. XM4JT`#$'L`5W1P!(0*T#_^`@!``-FW`R`````)68``,@@;0`,#!``)68R<``@:
  1376. XM;`0\$!!2K`0\*T#_^$'L`5W1[?_X$!`(```#9N`,K0```"7_^&>>("W__&``?
  1377. XM`,H@;0`,#!``*F<,*VW_[/_H6*W_[&`*D\E2K0`,*TG_Z$*M__0O+?_H2&W_[
  1378. XM]$AZ`*(O+0`,3KH.HD_O`!`K0/_P2H!6P40!2(%(P4J!9P0K0``,)BW_]`R#:
  1379. XM_____V882H%G!%*M__Q*K?_\;P8@+?_\8%9P_V!22H-G!%.L!#Q*K?_P9C@@+
  1380. XM+?_\8#YP`"!L!#P0$"M`__12K`0\0>P!7='M__00$`@```-FX"(M__2RK?_X#
  1381. XM9P#^XB`M__Q@#%*M__Q@`/[4("W__$S?``Q.74YU3E7__'``(&P$/!`04JP$0
  1382. XM/"M`__Q*@&8"</].74YU```DB4JJ``1P84Y5__!(YR``<``K0/_\*T#_^"M`K
  1383. XM__`@;0`($A`,`0`M9@QP`2M`__@K0/_P8`P,`0`K9@9P`2M`__AP`"!M``@B)
  1384. XM+?_X$#`8`"\`3KKZ+%A/2H!G*B`M__QR"DZZ$[PB+?_X4JW_^'0`(&T`"!0P_
  1385. XM&`#0@@2`````,"M`__Q@O$JM__!G!$2M__P@;0`,(*W__"`M__A,WP`$3EU.J
  1386. XM=4Y5__)(YP`@0BW_^W`(*T#__%.M__P@+0`,(@`"@0````]![`+0T<$B+?_\"
  1387. XM&Y`8\^B`*T``#`*`#____RM```Q*K0`,9LQ![?_ST>W__")()&T`"!399OQPJ
  1388. XM")"M__Q,WP0`3EU.=4Y5```O+0`,+RT`"&&,4$].74YU``!.5?_P2.<@('`+"
  1389. XM*T#_\$(M__]3K?_P("T`#"(``H$````'!H$````P)"W_\!N!*/3F@"M```P")
  1390. XM@!____\K0``,2JT`#&;,0>W_]-'M__`B2"1M``@4V6;\<`N0K?_P3-\$!$Y=M
  1391. XM3G5.50``+RT`#"\M``AAC%!/3EU.=0``3E7_\$CG`"!P"RM`__!"+?__4ZW_.
  1392. XM\"`M``QR"DZZ$;P&@0```#`@+?_P&X$(]"`M``QR"DZZ$:0K0``,2JT`#&;0G
  1393. XM0>W_]-'M__`B2"1M``@4V6;\<`N0K?_P3-\$`$Y=3G4``"!O``0B;P`(<`!RR
  1394. XM`!`8$AD,``!A;0H,``!Z;@0$```@#`$`86T*#`$`>FX$!`$`()"!9@1*`6;46
  1395. XM3G4``$Y5__A(YP$`(&T`#$H89OQ3B)'M``PN""!M``A*&&;\4XB1[0`((`@B)
  1396. XM;0`(T\`K2?_X(BT`$+Z!8P(N`2`'(&T`#&`"$MA3@&3Z(&W_^$(P>``@+0`(E
  1397. XM3-\`@$Y=3G4``$Y5__PK;0`(__P@;?_\2A!G&'``$!`O`$ZZ`!I83R!M__P03
  1398. XM@%*M__Q@X"`M``A.74YU```@+P`$#```86T*#```>FX$!```($YU``!.5?_XM
  1399. XM+RT`"$ZZ]7983RM`__A*@&8$</]@2"!M__@(*``#``-G$DAX``)"IR\M``A.[
  1400. XMNO>*3^\`#"\M`!`O+0`,(&W_^"\H``1.NA)*3^\`#"M`__Q*K``89P1P_V`$8
  1401. XM("W__$Y=3G4``$Y5_^Q(YR`@)&T`#"`M``@B*@`8)`$"@@```#$K0/_T2H)GT
  1402. XM!G#_8``"R"`!`H```(``5L)$`DB"2,(;0O_^2JH`%&8``)((`0`"9@``BG``Y
  1403. XM)4``#`RM_____P`(9P`"DB\*3KH"E%A/2H!G#`CJ``4`&W#_8``">@CJ``$`T
  1404. XM&THM__YG#B`J`!0B`$2!)4$`#&`(("H`%"5```Q3J@`,("H`#$J`:Q0@:@`$H
  1405. XM4JH`!"`M``@0@'(`$A!@%B`M``@"@````/\O"B\`80#_-E!/(@`@`6```AP(K
  1406. XM*@`"`!MG:"(M``@,@?____]F!G``8``"`AM!__]*+?_^9R8,@0````IF'G`">
  1407. XM+P!(;`+D+RH`'"M`__!.NOZ$3^\`#"M`__A@''`!+P!(;?__+RH`'"M`__!.Z
  1408. XMNOYF3^\`#"M`__AP_RM```A@``#\".H``0`;2BW__F=6(BT`"`R!_____V=*8
  1409. XM5*H`#`R!````"F8B(&H`!%*J``00O``-2JH`#&L,+PI(>/__80#^?%!/4JH`T
  1410. XM#"!J``12J@`$("T`"!"`2JH`#&L``5!P_RM```@@*@`$D*H`$"M`__!*@&<``
  1411. XM`(((*@`&`!IG7DAX``)"IR\J`!Q.NO6&3^\`#"M`_^Q*+?_^9T)3K?_L("W_P
  1412. XM[$J`:S9"IR\`+RH`'$ZZ]6!/[P`,2'@``4AM__TO*@`<3KKWO$_O``Q*K``8%
  1413. XM9@P0+?_]#```&F?`3G$O+?_P+RH`$"\J`!Q.NOUJ3^\`#"M`__A@!G``*T#_[
  1414. XM^"(M__@,@?____]F"`CJ``4`&V`,LJW_\&<&".H`!``;2BW__F<.("H`%"(`H
  1415. XM1($E00`,8!@(*@`"`!MG"'``)4``#&`(("H`%"5```P@:@`0)4@`!"(M``@,S
  1416. XM@?____]G+%.J``P@*@`,2H!K$"!J``12J@`$$(%P`!`08!`"@0```/\O"B\!^
  1417. XM80#].%!/("H`&`*`````,$J`9P1P_V`2(BW_]`R!_____V8$<`!@`B`!3-\$V
  1418. XM!$Y=3G5.50``(&T`"$JH`!1G#`@H``,`&V8$<`!@/"\L`5A.NO,<6$\@;0`(N
  1419. XM(4``!"%``!!*@&8*<`PI0`+,</]@&"%L`5@`%`*H____\P`8<``A0``,(4``4
  1420. XM"$Y=3G4``&<``I(O"G!A3E7_\$CG`3`D;0`(#*P````@!$!L``"0$A(,`0`@O
  1421. XM9PP,`0`)9P8,`0`*9@12BF#H2A)G<B`L!$#E@%*L!$!![`1(T<`K2/_\#!(`=
  1422. XM(F8H4HH@BDH29PH,$@`B9P12BF#R2A)F#$AX``%.N@TJ6$]@G$(24HI@EB!M`
  1423. XM__P@BDH29Q@2$@P!`"!G$`P!``EG"@P!``IG!%**8.1*$F8"8`A"$E**8`#_L
  1424. XM:$JL!$!F!B!L`$A@!$'L!$@I2`1$2JP$0&8``(9![`-4(DA'[`3()MDFV2;9(
  1425. XM)MDVD29L`$@B:P`D2'@`*"\I``1(;`3(3KKZI$_O``Q![`3((@@D/````^XLE
  1426. XM;`083J[_XBE`!0@@+`4(*4`%$'($*4$%#"E`!1@I0044Y8`K0/_PD\DL>``$O
  1427. XM3J[^VBM`__0@;?_P(FW_]"-H``@`I'X`8#(L;`083J[_RBE`!0@L;`083J[_5
  1428. XMQ"E`!1!![`-F(@@D/````^TL;`083J[_XBE`!1A^!"`'(`<`@```@`&!K`4$P
  1429. XM(`<@!P"```"``H&L!0P`K```@`,%%$JL`NAG!'``8`8@/```@``N`$*L`P@@:
  1430. XM!R`'`(`````!*4`#!'`!*4`#*B`'(`<`@`````(I0`,F<`(I0`-,(`<@!P"``
  1431. XM````@"E``TA!^@Q&*4@`,"\L!$0O+`1`3KKME%!/0J=.NO!R6$],WPR`3EU.V
  1432. XM=0``2H!K$"!J``12J@`$$(%P`!`08!`"@0``3E7_Q$CG("!P`!M\`"#_^W(`$
  1433. XM*T'_]G3_*T+_\D'M_]`;0/_Q&T#__!M`__T;0/_^&T#__RM!_^0K0?_H*TC_L
  1434. XMS"!M``A*$&=4$!`"0`#_<AA=06M(L'L0"&;V3OL0!``C8```+``@8```'@`KF
  1435. XM8```$``M8````AM\``'__V`8&WP``?_^8!`;?``!__U@"!M\``'__$YQ4JT`?
  1436. XM"&"D(&T`"!(0#`$`,&8*&WP`,/_[4JT`""!M``@,$``J9A(B;0`,(%%8D2M0[
  1437. XM__92K0`(8!!(;?_V+PA.NO9>4$_1K0`((&T`"!(0#`$`+F8P4JT`""!M``@,^
  1438. XM$``J9A(B;0`,(%%8D2M0__)2K0`(8!!(;?_R+PA.NO8B4$_1K0`((&T`"!(0C
  1439. XM#`$`;&8,&WP``?_Q4JT`"&`*#`$`:&8$4JT`""!M``@0$%*M``@;0/_P`D``2
  1440. XM_W(P74%K``)NL'L0"&;T3OL0!`!C8``"1`!S8``!_`!88``!B@!X8``!A`!P]
  1441. XM8``!;`!O8``!&@!U8```\`!D8````DHM__%G#")M``P@45B1(!!@"B)M``P@F
  1442. XM45B1(!`K0/_L2H!J"G(!1*W_["M!_^A*K?_H9P1P+6`,2BW__F<$<"M@`G`@>
  1443. XM&T#_T'``$"W__B(M_^B"@'``$"W__8*`2H%G"%*M_\Q2K?_D+RW_["\M_\Q.9
  1444. XMNO;&4$\K0/_(2JW_\FH&<`$K0/_R("W_R"(M__*2@"M!_\1*@6\R(&W_S")(O
  1445. XMT\$B`"1(8`(2VE.!9/IP`!`M__LB+?_$(&W_S&`"$,!3@63Z("W_\BM`_\C18
  1446. XMK?_D0>W_T"M(_\Q*+?__9P`!7!M\`"#_^V```5)*+?_Q9PPB;0`,(%%8D2`0G
  1447. XM8`HB;0`,(%%8D2`0*T#_[&``_UY*+?_Q9PPB;0`,(%%8D2`08`HB;0`,(%%8O
  1448. XMD2`0*T#_[$HM__QG$B!M_\P0O``P4JW_S'(!*T'_Y"\`+RW_S$ZZ]7!03RM`O
  1449. XM_\A@`/\D&WP`,/_[2JW_\FH&<`@K0/_R2BW_\6<,(FT`#"!16)$@$&`*(FT`O
  1450. XM#"!16)$@$"M`_^Q*+?_\9QX@;?_,$+P`,%*M_\P@;?_,$+P`>%*M_\QR`BM!'
  1451. XM_^0O`"\M_\Q.NO2*4$\K0/_(#"T`6/_P9@#^M$AM_]!.NO9J6$]@`/ZF(FT`.
  1452. XM#"!16)$B4"M)_\RR_```9@A![`-L*TC_S"!M_\Q*&&;\4XB1[?_,*TC_Y$JM:
  1453. XM__)K+B(M__*QP6\F*T'_Y&`@<`$K0/_D(FT`#"!16)$@$!M`_]!"+?_18`9P#
  1454. XM`&```*@B+?_D)"W_]K2!;`AP`"M`__9@!).M__9*+?__9T)3K?_D("W_Y$J`-
  1455. XM:QAP`"!M_\P0$%*M_\PO`"!M`!!.D%A/8-Q3K?_V("W_]DJ`:U1P`!`M__LO8
  1456. XM`"!M`!!.D%A/8.)3K?_V("W_]DJ`:Q)P`!`M__LO`"!M`!!.D%A/8.)3K?_D_
  1457. XM("W_Y$J`:QAP`"!M_\P0$%*M_\PO`"!M`!!.D%A/8-P@+0`(3-\$!$Y=3G5.`
  1458. XM5?_V*VT`$/_V(&T`#!`04JT`#!M`__]*`&=V#```)68P(&T`#`P0`"5F!E*MW
  1459. XM``Q@("\M``A(;?_V+PAA`/M,3^\`#"M`__I*@&<&*T``#&"X2JP`-&<F""T`9
  1460. XM!___9QYP`!`M__\O`"!M``A.D%A/(&T`#!`04JT`#!M`__]P`!`M__\O`"!M"
  1461. XM``A.D%A/8`#_>DY=3G4@;0`,3I!P84Y5_^!(YR``<`!R`"!M``@2$$'L`5W1B
  1462. XMP1(0*T#_]"M`__`(`0`"9S@@+?_P<@I.N@8(<@`@;0`($A!2K0`(`H$````/5
  1463. XMT($K0/_P<``@;0`($!!![`%=T<`0$`@```)FR"!M``@2$`P!`&QF#%*M``AP=
  1464. XM`2M`__1@"@P!`&AF!%*M``@@;0`,3I`K0/_\(&T`"`P0`&-G'$'L`5W1[?_\G
  1465. XM$!`(```#9PP@;0`,3I`K0/_\8.0B+?_\#('_____9@P@;0`0((%P`&``!(P@"
  1466. XM;0`($!`"0`#_<C9=06L`!&:P>Q`(9O1.^Q`$`'-@``0.`&-@``.D`&A@``,DI
  1467. XM`%A@``&D`'A@``&>`'!@``&,`&]@``#V`&1@```.`'5@```"0JW_[&!*<``K^
  1468. XM0/_L2JW_\&<*#*T````!__!O-"0M__P,@@```"UG"`R"````*V8@#((````M^
  1469. XM9@1R_V`"(@`K0?_L(&T`#$Z04ZW_\"M`__Q![`%=("W__-'`$A`(`0`"9@P@E
  1470. XM;0`0((!P`&```\Q"K?_H("W_Z'(*3KH$HB(M__P"@0````_0@2M`_^@@;0`,(
  1471. XM3I`K0/_\4ZW_\"`M__!*@&<00>P!7='M__P0$`@```)FP$JM`!1G``-P2JW_?
  1472. XM[&H$1*W_Z$JM__1F$")M`!0@42`M_^@@@&```U`B;0`4(%$@K?_H8``#0B(MI
  1473. XM__P,@0```#!M"`R!````-V\,(&T`$""!<`!@``,R0JW_Z"`M_^CG@"(M__P"L
  1474. XM@0````?0@2M`_^@@;0`,3I`K0/_\4ZW_\"`M__!*@&<4(BW__`R!````,&T(T
  1475. XM#($````W;\!*K0`49P`"UDJM__1F$")M`!0@42`M_^@@@&```L`B;0`4(%$@;
  1476. XMK?_H8``"LDJM__!F!G`(*T#_\$'L`5T@+?_\T<`2$`@!``=F#"!M`!`@@'``!
  1477. XM8``"F"MM__S_^"!M``Q.D"M`__Q*K?_P9PH,K0````+_\&]*#*T````P__AFA
  1478. XM0`R`````>&<(#(````!89C`@;0`,3I!![`%=(DC3P!(1*T#__`@!``=F#")M&
  1479. XM`!`B@'``8``".$*M_^A3K?_P8$Q![`%=("W_^")(T\`2$0@!``)G#"(`!($`!
  1480. XM```P*T'_Z")(T\`2$0@!``!G#"(`!($````W*T'_Z-'`$A`(`0`!9PH$@```"
  1481. XM`%<K0/_H4ZW_\"`M__!*@&=N0>P!72`M__PB2-/`$A$(`0`'9UHB+?_HZ8$BY
  1482. XM2-/`%!$K0?_H"`(``F<,(@`$@0```#"#K?_H(DC3P!(1"`$``&<,(@`$@0``#
  1483. XM`#>#K?_HT<`2$`@!``%G"@2`````5X&M_^@@;0`,3I`K0/_\8(9*K0`49P`!B
  1484. XM4$JM__1F$")M`!0@42`M_^@@@&```3HB;0`4(%$@K?_H8``!+$'L`5T@+?_\;
  1485. XMT<`2$`@!``)F#"!M`!`@@'``8``!'D*M_^P@+?_L<@I.N@'T(BW__`*!````T
  1486. XM#]"!*T#_["!M``Q.D"M`__Q3K?_P("W_\$J`9Q!![`%=T>W__!`0"````F;`3
  1487. XM2JT`%&<``,(B;0`4(%$@+?_L,(!@``"R2JT`%&<.(FT`%"!14I$@+?_\$(!3D
  1488. XMK?_P("W_\$J`;R0@;0`,3I`K0/_\#(#_____9Q)*K0`49]PB;0`4(%%2D1"`H
  1489. XM8-`B+?_\#('_____9@H@;0`0((%P`&!F(&T`"%*((`A@7$JM`!1G#B)M`!0@]
  1490. XM45*1("W__!"`(&T`#$Z0*T#__%*`9QQ3K?_P("W_\$J`9Q!![`%=T>W__!`0.
  1491. XM"````V?"(FT`%"!10A!@!'``8!`@;0`0(*W__"!M``A2B"`(3-\`!$Y=3G5*!
  1492. XM@&H``!Y$@$J!:@``#$2!80``($2!3G5A```81(!$@4YU2H%J```,1(%A```&-
  1493. XM1(!.=2\"2$$T`68``")(0$A!2$(T`&<```:$P3`"2$`T`(3!,`)(0C(")!].S
  1494. XM=2\#=A`,00"`9```!N&944,,00@`9```!NF964,,02``9```!N6954-*06L`R
  1495. XM``;CF5-#-`#FJ$A"0D+FJDA#@,$V`#`"-`-(0<3!D()D```(4T/0@63^<@`R<
  1496. XM`TA#Y[A(0,-`)A\D'TYU+GD```!,3KD```7D+SP````43KD```8\($(B0R0`9
  1497. XM)@%(0DA#Q,'&P,#!U$-(0D)"T((F"20(3G5.5?_X2.<!('X`1>P%!+ZL`X1L<
  1498. XM'DJ29Q0(*@`"``-G`F`*+RH`!$ZZ`?A83U*'4(I@W"\M``PO+0`(3KK?EE!/;
  1499. XM3-\$@$Y=3G5.5?_\<``B/```,``L>``$3J[^S@*````P`"M`__Q*@&8$<`!@%
  1500. XM)$JL`#!G&B!L`#!.D$J`9@1P`&`00J=(>``43KK_=E!/("W__$Y=3G5AL$YU<
  1501. XM``!*K`0<9A)#[`0$<``L>``$3J[]V"E`!!PI;`!4`\1(>``\2'@`^G``+P`OK
  1502. XM`$AL`_!(;`/62&P#N"\`3KKC'$_O`"!3@&<$</]@`G``3G4``$Y5__Q(YP$`'
  1503. XM2JP`,&<$3KK_3$*L`!@B+0`()"T`#"8M`!`L;`083J[_UBX`#(?_____9A(LG
  1504. XM;`083J[_?"E``!AP!2E``LP@!TS?`(!.74YU3E7__$CG`0!*K``P9P1.NO[\-
  1505. XM0JP`&"(M``@D+0`,)BT`$"QL!!A.KO_0+@`,A_____]F$BQL!!A.KO]\*4``E
  1506. XM&'`%*4`"S"`'3-\`@$Y=3G5.5?_X2.<Q`DJL`#!G!$ZZ_JQ"K``8("T`$%.`Y
  1507. XM+T``$"(M``@D+0`,)B\`$"QL!!A.KO^^+@`,A_____]F$BQL!!A.KO]\*4``.
  1508. XM&'`6*4`"S"`M`!`,@`````)G'`R``````6<*2H!F(B`M``Q@'"`'(`?0K0`,_
  1509. XM8!(B+0`(=`!V`"QL!!A.KO^^3G%,WT",3EU.=0``3E4``$JL`#!G!$ZZ_APB\
  1510. XM+0`(+&P$&$ZN_]QP`$Y=3G4```/L`````@```````"$X```A+`````0````!Z
  1511. XM```A)@``!58```$2````#@````````/R```#Z@```0L`````````````````Q
  1512. XM`````````````````````````````````````````````````````````````
  1513. XM`````````````````````````````````````````````&1O<RYL:6)R87)YI
  1514. XM`%5S86=E.B`@5TU/5D4@9'@@9'D@6W=I;F1O=R!;<V-R965N75T*```E;&0`]
  1515. XM0V%N)W0@9FEN9"!S8W)E96X@)R5S)PH`0V%N)W0@9FEN9"!W:6YD;W<@)R5SC
  1516. XM)R!O;B!S8W)E96X@)R5S)PH``&EN='5I=&EO;BYL:6)R87)Y``I7:6YD;W<@\
  1517. XM)R5S)R!O;B!38W)E96X@)R5S)PH``"`@($]L9"!P;W-I=&EO;CH@("@E9"PE#
  1518. XM9"D*```@("!.97<@<&]S:71I;VXZ("`H)60L)60I"B`@($-H86YG960Z("`@M
  1519. XM("`@("@E9"PE9"D*"@```````@``("`@("`@("`@*"@H*"@@("`@("`@("`@-
  1520. XM("`@("`@("!($!`0$!`0$!`0$!`0$!`0A(2$A(2$A(2$A!`0$!`0$!"!@8&!4
  1521. XM@8$!`0$!`0$!`0$!`0$!`0$!`0$!`1`0$!`0$(*"@H*"@@("`@("`@("`@("8
  1522. XM`@("`@("`@("$!`0$"`@("`@("`@("`H*"@H*"`@("`@("`@("`@("`@("`@Z
  1523. XM($@0$!`0$!`0$!`0$!`0$!"$A(2$A(2$A(2$$!`0$!`0$(&!@8&!@0$!`0$![
  1524. XM`0$!`0$!`0$!`0$!`0$!$!`0$!`0@H*"@H*"`@("`@("`@("`@("`@("`@("?
  1525. XM`@(0$!`0(````/__````#@`.````````````````*BH@4W1A8VL@3W9E<F9LV
  1526. XM;W<@*BH``/__````!``$`````````G0```)@15A)5```__\````$``0`````X
  1527. XM```"G@````!I;G1U:71I;VXN;&EB<F%R>0`````````P,3(S-#4V-S@Y86)C9
  1528. XM9&5F``````T*`````(`````##@``````````````````````````````````7
  1529. XM`````````S``````````````````````````````````````````````````S
  1530. XM``````````````````````````````````````!C;VXZ,3`O,3`O,S(P+S@P&
  1531. XM+P`J```````````````````````````````````````````H*BH@57-E<B!!U
  1532. XM8F]R="!297%U97-T960@*BH``/__````#@`.`````````X@`````__\````$D
  1533. XM``0``````````````Z1#3TY424Y510``__\````$``0````````#S`````!!F
  1534. XM0D]25`#__P````0`!`````````/J`````&EN='5I=&EO;BYL:6)R87)Y````P
  1535. XM````````````````````````!`````/L````"0````$```/\```#X@```\@`L
  1536. X?``.P```##@```NP```*P```"F@```I8````````#\@$`.
  1537. X``
  1538. Xend
  1539. Xsize 10336
  1540. END_OF_FILE
  1541. if test 14508 -ne `wc -c <'wmove.uu'`; then
  1542.     echo shar: \"'wmove.uu'\" unpacked with wrong size!
  1543. fi
  1544. # end of 'wmove.uu'
  1545. fi
  1546. echo shar: End of archive 1 \(of 2\).
  1547. cp /dev/null ark1isdone
  1548. MISSING=""
  1549. for I in 1 2 ; do
  1550.     if test ! -f ark${I}isdone ; then
  1551.     MISSING="${MISSING} ${I}"
  1552.     fi
  1553. done
  1554. if test "${MISSING}" = "" ; then
  1555.     echo You have unpacked both archives.
  1556.     rm -f ark[1-9]isdone
  1557. else
  1558.     echo You still need to unpack the following archives:
  1559.     echo "        " ${MISSING}
  1560. fi
  1561. ##  End of shell archive.
  1562. exit 0
  1563. -- 
  1564. Mail submissions (sources or binaries) to <amiga@uunet.uu.net>.
  1565. Mail comments to the moderator at <amiga-request@uunet.uu.net>.
  1566. Post requests for sources, and general discussion to comp.sys.amiga.misc.
  1567.